성공과 .done의 방법 $.done의 차이점은 무엇입니까?
누가 나를 도와줄 수 있나요?
나는 그 사이의 차이를 이해할 수 없습니다.success
그리고..done()
의$.ajax
.
가능하다면 예를 들어 주시기 바랍니다.
success
AJAX 호출이 성공한 경우에만 실행됩니다. 즉, 궁극적으로 HTTP 200 상태를 반환합니다.error
실패하면 발사를 하고,complete
요청이 완료되면 성공 여부에 관계없이 완료됩니다.
InjQuery 1.8 on thejqXHR
객체(별도)$.ajax
)success
로 대체되었습니다.done
,error
와 함께fail
그리고.complete
와 함께always
.
그러나 이전 구문으로 AJAX 요청을 초기화할 수는 있습니다.따라서 이와 유사한 작업을 수행합니다.
// set success action before making the request
$.ajax({
url: '...',
success: function(){
alert('AJAX successful');
}
});
// set success action just after starting the request
var jqxhr = $.ajax( "..." )
.done(function() { alert("success"); });
이 변경 사항은 jQuery 1.5의 지연 개체와의 호환성을 위한 것입니다.연기됨(그리고 지금)Promise
, Chrome 및 FX)에서 완전한 네이티브 브라우저를 지원하므로 비동기 동작을 체인으로 연결할 수 있습니다.
$.ajax("parent").
done(function(p) { return $.ajax("child/" + p.id); }).
done(someOtherDeferredFunction).
done(function(c) { alert("success: " + c.name); });
이 함수 체인은 중첩된 콜백 피라미드보다 유지 관리하기가 더 쉽습니다.success
.
하지만 참고하시기 바랍니다.done
지금은 더 이상 사용하지 않습니다.Promise
를 사용하는 구문then
대신:
$.ajax("parent").
then(function(p) { return $.ajax("child/" + p.id); }).
then(someOtherDeferredFunction).
then(function(c) { alert("success: " + c.name); }).
catch(function(err) { alert("error: " + err.message); });
이것은 채택할 가치가 있습니다 왜냐하면async
그리고.await
extend promise 개선된 구문(및 오류 처리):
try {
var p = await $.ajax("parent");
var x = await $.ajax("child/" + p.id);
var c = await someOtherDeferredFunction(x);
alert("success: " + c.name);
}
catch(err) {
alert("error: " + err.message);
}
간단히 말해서, 성공 콜백 기능을 ajax 기능에서 분리하면 나중에 원래 코드(관찰자 패턴)를 수정하지 않고 자신의 핸들러를 추가할 수 있습니다.
여기서 더 자세한 정보를 찾으십시오: https://stackoverflow.com/a/14754681/1049184
.success()
웹 서버가 200 OK HTTP 헤더로 응답하는 경우에만 호출됩니다. 기본적으로 모든 것이 정상일 때입니다.
done()에 첨부된 콜백은 지연이 해결되면 실행됩니다.fail()에 첨부된 콜백은 지연된 것이 거부되면 실행됩니다.
promise.done(doneCallback).fail(failCallback)
.done() has only one callback and it is the success callback
success
는 요청이 성공적으로 수행될 때 호출되는 콜백으로, 에 포함됩니다.$.ajax
불러.done
사실은 그 일부입니다.jqXHR
에 의해 반환된 물건$.ajax()
, 대체합니다.success
jQuery 1.8에서.
언급URL : https://stackoverflow.com/questions/8847829/what-is-difference-between-success-and-done-method-of-ajax
'programing' 카테고리의 다른 글
부트스트랩 4 다중 선택 드롭다운 (0) | 2023.09.18 |
---|---|
최근 게시물 워드프레스 위젯을 편집하여 3개 언어를 한 번에 표시하는 도움말 (0) | 2023.09.18 |
Golang SQL 쿼리 변수 치환 (0) | 2023.09.18 |
Android XML 백분율 기호 (0) | 2023.09.18 |
Angular ui-router로 기본 상태를 설정하는 방법 (0) | 2023.09.18 |