programing

jQuery에서 AJAX 요청이 성공했는지 확인하는 가장 좋은 방법

iphone6s 2023. 10. 9. 22:22
반응형

jQuery에서 AJAX 요청이 성공했는지 확인하는 가장 좋은 방법

다음과 같은 작업을 수행하여 AJAX 요청이 성공했는지 확인했습니다.

$.post("page.php", {data: stuff}, function(data, status) {
    if(status == "success") {
        //Code here
    }
    else {
        //Error handling stuff
    }
});

상태 변수를 확인하는 것이 이 작업을 수행하는 가장 좋은 방법입니까, 아니면 요청이 실제로 수행되었는지 확인하는 더 나은 방법이 있습니까?저는 "성공적인" 요청을 타임아웃(예를 들어 서버가 다운되기 직전에 AJAX 요청이 이루어진 경우) 또는 모든 종류의 404 또는 500 오류를 반환하지 않고 게시 중인 페이지에 성공적으로 도달하는 요청으로 고려하고 있습니다.

전화로$.post그런 식으로, 당신은 자동적으로 오직 한번만 통과합니다.success handler기능.

요청 시 문제가 발생하면 이 방법은 실행되지도 않습니다.

더 많은 통제력을 가지려면 다음 중 하나를 사용합니다.$.ajax()직접 또는 패시 인 페일 핸들러.그렇게 보일 수도 있습니다.

$.post("page.php", {data: stuff}, function(data, status) {
   // we're fine here
}).fail(function(err, status) {
   // something went wrong, check err and status
});

동일한 것을 사용합니다..ajax():

$.ajax({
   type: 'POST',
   url: 'page.php',
   data: stuff,
   success: function( data ) {
   },
   error: function(xhr, status, error) {
      // check status && error
   },
   dataType: 'text'
});

Ajax 이벤트 핸들러를 더 많이 전달할 수 있습니다.$.ajax,맘에 들다beforeSendXHR 헤더를 수정/판독하거나complete요청이 완료되면 어느 쪽이든(오류 여부에 관계없이) 실행되는 핸들러가 있어야 합니다.

명시적인 성공 처리기가 있기 때문에 ajax 호출을 사용하는 것을 선호합니다.

$.ajax({
url: "page.php",
data: stuff,
success: function(response){
console.log("success");
}
});

파이어버그나 웹킷도 비슷하게 사용하는 것을 추천합니다. 그러면 요청을 추적하고 파라미터를 확인할 수 있습니다!

jQuery는 물론 소스 코드에 있는 방식으로 "성공적"이라고 생각합니다.이 경우 상태 코드가 반환되지 않았기 때문에 404/500의 상태 코드를 포함하지 않으며 시간 초과도 포함하지 않습니다.

정확히 언제 돌아오는지 확인하실 수 있습니다."success":

// If successful, handle type chaining
if ( status >= 200 && status < 300 || status === 304 ) {

...
    // If not modified
    if ( status === 304 ) {

        statusText = "notmodified";
...

    // If we have data
    } else {

        try {
...
            statusText = "success"; // So: only when status code is in
                                    // the range 200 <= x < 300
...
        } catch(e) {
...
            statusText = "parsererror";
...
        }
    }

언급URL : https://stackoverflow.com/questions/8138021/best-way-to-check-if-ajax-request-was-successful-in-jquery

반응형