IT

jQuery ajax()는 성공, 오류 및 완료 vs.done(), .fail() 및 always()를 사용합니다.

itgroup 2023. 3. 29. 21:23
반응형

jQuery ajax()는 성공, 오류 및 완료 vs.done(), .fail() 및 always()를 사용합니다.

질문:

  1. 아래와 같이 코딩을 변경해야 합니까?
  2. 와의 차이점이 있습니까?.done()&success:,.fail()&error:그리고..always()&complete:?

서문:

저는 jQuery.ajax 콜을 작성 중이었는데, 과거에도 성공적으로 통화를 했습니다.다음과 같은 경우:

    $.ajax(
    {
        url: someUrl,
        type: 'POST',
        data: someData,
        datatype: 'json',
        success: function (data) { someSuccessFunction(data); },
        error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
    });

몇 가지 문서를 간단히 살펴보던 중 jQuery 1.8에서 성공, 오류 및 완전한 콜백은 권장되지 않는다는 참조를 발견했습니다.최종 삭제에 대비하여 코드를 준비하려면 jqXHR.done(), jqXHR.fail() 및 jqXHR.always()를 사용합니다.

따라서 다음과 같은 코딩을 시작해야 합니다.

$.ajax( "example.php" )
    .done(function (data) { someSuccessFunction(data); })
    .fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
    .always(function() { alert("complete"); });

글쎄, 그 특정한 상황에서 그렇게 하는 것은 이점이 없다.

의 포인트.done() .fail() .always()방법이란,

  1. 여러 핸들러 연결
  2. 전화할 때뿐만 아니라 어디서든 할 수 있습니다.$.ajax

에 있는 경우$.ajax콜 사이트에서는 핸들러를 1개만 접속할 수 있기 때문에, 이러한 메리트는 실제로 발휘되지 않습니다.

따라서 사용자는 약속을 반환할 수 있으며 다른 사용자는 자신의 핸들러를 첨부할 수 있습니다.

예를 들어, Ajax 요청 후 플러그인을 새로 고칩니다.

$.ajaxPrefilter(function(opt, origOpt, jqxhr) {
    jqxhr.always(function() {
        $("[data-plugin]").plugin();
    });
});

언급URL : https://stackoverflow.com/questions/18264237/jquery-ajax-using-success-error-and-complete-vs-done-fail-and-always

반응형