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 |
