반응형
jQuery ajax()는 성공, 오류 및 완료 vs.done(), .fail() 및 always()를 사용합니다.
질문:
- 아래와 같이 코딩을 변경해야 합니까?
- 와의 차이점이 있습니까?
.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()
방법이란,
- 여러 핸들러 연결
- 전화할 때뿐만 아니라 어디서든 할 수 있습니다.
$.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
반응형
'IT' 카테고리의 다른 글
inline 조건부(angular.display)를 지정합니다. (0) | 2023.03.29 |
---|---|
TypeScript for...인덱스/키 포함? (0) | 2023.03.29 |
console.log 각도 지시 범위 출력 [개체] 속성 없음] (0) | 2023.03.19 |
오류: Content-Type이 Access-Control-Allow-Headers에서 허용되지 않습니다. (0) | 2023.03.19 |
ng-click으로 DOM 개체에 참조 전달 (0) | 2023.03.19 |