programing

브라우저 개발 도구에서 ajax 호출이 동기식인지 비동기식인지 확인하려면 다음과 같이 하십시오.

lastmoon 2023. 9. 9. 10:07
반응형

브라우저 개발 도구에서 ajax 호출이 동기식인지 비동기식인지 확인하려면 다음과 같이 하십시오.

Chrome Developer Tools나 Firebug와 같은 Browser Dev Tools에서 특정 ajax 요청이 비동기식인지 동기식인지 확인할 수 있는 방법이 있습니까?

ajax의 경우 HTTP Request Header는 해당 동기화인지 비동기화인지 표시하지 않습니다.

X-Requested-With:XMLHttpRequest

아니요, 그렇게 할 수는 없지만 콘솔에서 실행하거나 코드에 추가할 수 있습니다.

XMLHttpRequest.prototype.open = (function(open){
    return function(method, url, async, user, password) {
        console.log("xhr call: "+url +"isAsync: "+async);
        open.apply(this, arguments);
    };
})(XMLHttpRequest.prototype.open);

정보를 기록합니다. 도움이 되기를 바랍니다.

아직도 답을 찾고 계신지는 모르겠지만 누군가에게 도움이 되었으면 좋겠습니다!

크롬 브라우저에서 오른쪽 클릭/검사/networkTab/xhr?로 이동하여 아래 그림과 같이 요청이 처리되는 시간으로 커서를 이동합니다.

enter image description here

이 코드는 내 비동기 코드(기본 ajax)입니다.

`$.ajax({
    type: "GET",
    contentType: "application/json",          // data type of request
    url: //url,
    data: //data,
    dataType: "json",                             // data type of response
    success: function (result) {  
        
        // some code here

    }

});`

나는 로컬 호스트에게 일련의 아약스 전화를 걸었고 각각의 전화는 이전 전화의 응답과 연결되었습니다.하지만 거의 동시에 모든 ajax 요청이 발송되고 있고, 연속적으로 받아야 할 응답(파란색)이 무질서하게 되어 출력을 잘못 받았습니다.아래의 타이밍 다이어그램은 문제를 완벽하게 보여줍니다(폭포 탭 참조).

enter image description here

통화 동기화 코드입니다(async: ajax에서 false)

$.ajax({
async: false,
type: "GET",
contentType: "application/json",          // data type of request
url: //url,
data: //data,
dataType: "json",                             // data type of response
success: function (result) {  

    // some code here

}

});

enter image description here

이제 비동기: false가 작동하는지 어떻게 알 수 있습니까?

비동기 모드의 ajax 호출 시간이 서로 겹치고 동기화 모드의 호출 시간(비동기: false)이 서로 구분되어 있으므로 동기화 호출 [비동기: false]이(가) 정상적으로 작동하고 있음을 증명할 수 있습니다.타이밍이 여전히 겹치면 동기화 호출이 작동하지 않을 수 있습니다.

모든 ajax 요청은 동기적으로 지정된 경우 비동기적인 다른 요청이며 따라서 를 Ajax(비동기 자바스크립트 및 XML)라고 부릅니다.ajax 요청을 동기화하려면 이와 같은 XMLHTTPRequest 개체의 오픈 메서드 내부에 false를 전달해야 합니다.

var xhr = new XMLHttPRequest();
xhr.open("POST", "file to get.php", false);

세 번째 매개 변수는 동기로 지정하지만 기본값은 true입니다.

언급URL : https://stackoverflow.com/questions/30644220/to-check-if-ajax-call-is-synchronous-or-asynchronous-in-browser-dev-tools

반응형