>source

나는componentDidUpdate에 오류가 있는 함수액시오스라인. 내 브라우저 콘솔이 표시됩니다.약속의 잡히지 않은 오류내 브라우저 페이지가 다시 로드되기 전에 잠시. 주석 처리된술책라인에 비슷한 문제가있어서 시도해 볼 수 있다고 생각했습니다.액시오스.

이것은 구문 문제입니까? url 행이 정확하고 이전에 작동했습니다. 로컬 함수에서 호출했지만 기다려야 합니다. 그래서 넣었어요componentDidUpdate.

async componentDidUpdate(_, prevState) {
    if (prevState.ccNumber !== this.state.ccNumber &
&
 this.state.ccNumber.length > 14) {
        console.log('ccNumber state has changed.')
        [...]
    }
    if (prevState.purchaseClicked !== this.state.purchaseClicked) {
        const cart= GetCart();
        const tokenString= sessionStorage.getItem("token");
        const token= JSON.parse(tokenString);
        axios.defaults.baseURL= Config.apiUrl;
        axios.defaults.headers.common['Accept']= 'application/json';
        axios.defaults.headers.common['Content-Type']= 'application/json';
        axios.defaults.headers.common['Authorization']= 'Bearer ' + token.token;
        console.log("Purchase Click")
        axios({
            method: 'post',
            url: `/api/Orders/AddInvoice?orderNumber=${this.state.orderNumber}&
orderType=${this.state.orderType}`,
            data: JSON.stringify(cart)
        });
        //await fetch(Config.apiUrl + `/api/Orders/AddInvoice?orderNumber=${this.state.orderNumber}&
orderType=${this.state.orderType}`, {
        //method: "POST",
        //headers: headers,
        //body: JSON.stringify(cart)
        //});
        //const result= await responce.json();
        //if (this.state.transaction !== []) {
        //const responce2= await fetch(Config.apiUrl + `/api/Payments/PersistTransaction`, {
        //method: "POST",
        //headers: headers,
        //body: JSON.stringify(this.state.transaction)
        //});
        ////const result2= await responce2.json();
        //}
        ClearCart();
        confirm("Your order has been submitted.", options);
        //this.props.onRequestClose();
    }
}

어떤 힌트나 도움을 주시면 감사하겠습니다.

오류를 잡을 때 오류는 무엇을 나타냅니까? axios-http.com/docs/handling_errors

Alexander Staroselsky2022-01-27 21:05:32

@AlexanderStaroselsky 내 axois 호출에 오류 처리를 넣었지만 페이지가 너무 빨리 다시 로드되고 콘솔 로그가 다시 시작됩니다.

Randy2022-01-27 21:13:27

콘솔에서 설정 버튼을 누르면 "로그 보존"을 클릭할 수 있어야 하며 console.log의 내용이 유지됩니다.

Lucas Claude2022-01-27 21:16:10

알겠습니다. Uncaught(약속) ReferenceError: options is not defined가 표시됩니다.

Randy2022-01-27 21:25:21

어디에? 바로 그거죠?

Kevin B2022-01-27 21:31:25
  • 답변 # 1

    다음과 같은 오류를 잡으십시오.

    axios.post('/url', {data}).then(function (response) {
        console.log(response);
    }).catch(function (error) {
        console.log(error);
    });
    

    여기서 이 옵션은 정의되지 않은 상태로 정의하려고 합니다.

    confirm("Your order has been submitted.", options);
    

  • 이전 Bash switch case 문은 인수 구문 분석에 계속 실패하지만 패턴 일치는 괜찮아 보입니까?
  • 다음 javascript : 이미지 위에 여러 색상이 있는 CSS 오버레이