gpt4 book ai didi

jquery - 在 AJAX 调用中使用 success() 或complete()

转载 作者:行者123 更新时间:2023-12-03 21:27:54 26 4
gpt4 key购买 nike

我想根据 complete() 方法了解下面的 AJAX 调用;

当我用 success() 替换 complete() 时,我得到一个空的 responseText,就像 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;
});

最佳答案

Is it that success() returns earlier than complete()?

; AJAX success() 方法在 complete() 方法之前运行。

下图说明了处理流程:

AJAX call process flow diagram.

需要注意的是

  • 仅当请求成功(服务器没有错误,数据没有错误)时才会调用 success()(本地事件)。

  • 另一方面,无论请求是否成功,都会调用 complete()(本地事件)。即使对于同步请求,您也始终会收到完整的回调。

...有关 AJAX 事件的更多详细信息 here .

关于jquery - 在 AJAX 调用中使用 success() 或complete(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1021062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com