AJAX 호출에서 success() 또는 complete()를 사용합니다.
아래 AJAX 콜을 이해하고 싶습니다.complete()
방법
교환할 때complete()
와 함께success()
, 빈 응답을 수신합니다.텍스트는 AJAX와 같습니다.error()
방법.
다른 한편으로, 내가 떠날 때complete()
그 방법 그대로라면 모든 것이 예상대로입니다.
그런가요?success()
보다 빨리 반환되다complete()
?
$("#formnaw").submit(function() {
var fnc = invoerFnc.attr("value");
var vnaam = invoerVnaam.attr("value");
var anaam = invoerAnaam.attr("value");
var str1 = invoerStr1.attr("value");
var nr1 = invoerNr1.attr("value");
var pc1 = invoerPc1.attr("value");
var pl1 = invoerPl1.attr("value");
var tel1 = invoerTel1.attr("value");
var mob1 = invoerMob1.attr("value");
var em1 = invoerEm1.attr("value");
var goknop = $("#formnaw > .instelling_go");
//we deactiveren de submit knop tijdens het verzenden
goknop.attr({
disabled: true
});
goknop.blur();
//stuur de post variabelen naar livetabs.php
$.ajax({
type: "POST",
url: "registraties/instellingenact.php",
data: "actie=wijzignaw&vnaam=" + vnaam + "&anaam=" + anaam + "&functie=" + fnc + "&straat=" + str1 + "&nr=" + nr1 + "&postcode=" + pc1 + "&plaats=" + pl1 + "&tel=" + tel1 + "&mob=" + mob1 + "&email=" + em1,
timeout: 5000,
success: function(data, textStatus) {
alert('bij success');
//doe iets
} //EINDE success
,
error: function(XMLHttpRequest, textStatus, errorThrown) {
if (textStatus == 'timeout') {
//doe iets
} else if (textStatus == 'error') {
//doe iets
}
//her-activeer de zend knop
goknop.attr({
disabled: false
});
} //EINDE error
,
complete: function(data) {
updatelijst.append(data.responseText + "<br>");
if (data.responseText.indexOf("Fout") != -1) {
$('#formnaw').find('td.foutnr1').prepend(data.responseText);
} else {
updatelijst.animate({
opacity: 'show'
}, 1000, function() {});
}
//her-activeer de zend knop
goknop.attr({
disabled: false
});
} //EINDE complete
}); //EINDE ajax
//we stoppen het standaard gedrag van een submit, zodat de pagina niet wordt vernieuwd.
return false;
});
그런가요?
success()
보다 빨리 반환되다complete()
?
네, AJAXsuccess()
메서드가 실행되기 전에complete()
방법.
다음으로 프로세스의 흐름을 나타내는 그림을 나타냅니다.
주의할 점은
그
success()
(Local Event)는 요구가 성공했을 경우에만 호출됩니다(서버로부터의 에러나 데이터의 에러는 없습니다).한편,
complete()
(Local Event)는 요청 성공 여부에 관계없이 호출됩니다.동기 요구에서도 항상 완전한 콜백을 수신합니다.
AJAX 이벤트에 대한 자세한 내용은 여기를 참조하십시오.
complete
다음 중 하나가 실행된 후success
또는error
콜백이 실행되었습니다.
두 번째 매개 변수를 확인해야 할 것 같습니다.complete
제안도 있습니다.이것은 ajaxCall의 성공 유형을 유지하는 String입니다.
다른 콜백에 대해서는 여기서 좀 더 자세히 설명하겠습니다.
내 생각에 당신은 그 사실을 놓쳤나 보군요complete
및 그success
함수(부정합하지 않은 API를 알고 있습니다)는 다른 데이터를 가져옵니다. success
데이터만 가져옵니다.complete
통째로 손에 넣다XMLHttpRequest
물건.물론 없다responseText
속성을 지정합니다.
그래서 만약 당신이complete
와 함께success
교환도 필요합니다.data.responseText
와 함께data
오직.
성공.
함수에는 다음 두 개의 인수가 전달됩니다.서버에서 반환된 데이터('데이터'에 따라 포맷됨)Type' 매개 변수 및 상태를 설명하는 문자열입니다.
완성하다
함수에는 다음 두 개의 인수가 전달됩니다.XMLHttpRequest 개체 및 요청 성공 유형을 설명하는 문자열.
모든 것에 액세스 할 필요가 있는 경우XMLHttpRequest
성공 콜백의 오브젝트.이것을 시도해 보는 것을 추천합니다.
var myXHR = $.ajax({
...
success: function(data, status) {
...do whatever with myXHR; e.g. myXHR.responseText...
},
...
});
"complete"는 Ajax 콜이 종료되면 실행됩니다."success"는 Ajax 콜이 성공적인 응답 코드로 종료되었을 때 실행됩니다.
격리된 상태라서 말인데complete()
$.199는 다음과 같습니다.finally
시도 캐치블록에서.
임의의 프로그래밍 언어로 try catch block을 사용하는 경우 실행이 성공했는지 실행 오류가 발생했는지 여부는 중요하지 않습니다.마지막으로 {} 블록은 항상 실행됩니다.
도 마찬가지입니다.complete()
로 $1,000를 받을 수 입니다.success()
또는 "response" 입니다.error()
complete()
함수는 실행이 완료되면 항상 호출됩니다.
언급URL : https://stackoverflow.com/questions/1021062/use-success-or-complete-in-ajax-call
'programing' 카테고리의 다른 글
개체와 해시의 차이점? (0) | 2023.03.22 |
---|---|
@ComponentScan과 @Enable의 차이점은 무엇입니까?스프링 부트에서의 자동 설정 (0) | 2023.03.22 |
웹 소켓으로 인해 Ajax/CORS가 사용되지 않게 되었습니까? (0) | 2023.03.22 |
JavaScript에서 ::(이중 콜론)은 무엇을 의미합니까? (0) | 2023.03.22 |
브라우저에서 런타임에 실행 중인 React 버전을 어떻게 알 수 있습니까? (0) | 2023.03.22 |