[英]Why is .always method callback function of $.ajax() not executed?
我正在使用Ladda在執行AJAX調用時顯示等待的動畫。 我使用Ladda start()方法啟動按鈕上的動畫,完成工作后需要停止動畫,但是未執行$ .ajax()的always方法的回調,為什么?
let l = Ladda.create(this);
l.start();
$.ajax({
url: molarisk_public.ajaxurl,
type: 'post',
data: {
action: 'user_send_verification',
_nonce: molarisk_public.nonce,
log: log,
pwd: pwd,
ver_type: ver_type
},
success: function(result) {
switch (result) {
case 'signin_attempt_sent':
output_p.removeClass('text-danger');
output_p.addClass('text-success');
output_p.text('Codice generato, controlla la posta!');
break;
case 'email_verification_sent':
output_p.removeClass('text-danger');
output_p.addClass('text-success');
output_p.text('Link di verifica inviato, controlla la posta!');
break;
case 'email_unverified':
output_p.removeClass('text-success');
output_p.addClass('text-danger');
let unverified = 'Non hai ancora verificato il tuo indirizzo e-mail. Esegui prima la verifica dell’indirizzo cliccando sul link che ti è stato inviato oppure <button type="button" class="as-a-link send-link-btn" id="test">richiedi un nuovo link di verifica</button>.';
output_p.html(unverified);
break;
default:
output_p.removeClass('text-success');
output_p.addClass('text-danger');
output_p.text(result);
}
//l.stop();
},
always: function() {
l.stop();
}
});
這是因為您正在使用$.ajax
中的設置對象的屬性。 因此,屬性名稱應complete
。
$.ajax({
// other properties...
success: function(result) {
// your logic
},
complete: function() {
l.stop();
}
});
您似乎將它與延遲對象上的always()
方法混淆了。 要使用該方法,請將方法調用鏈接在$.ajax()
:
$.ajax({
// request properties...
}).done(function(result) {
switch(result) {
// your logic
}
}).always(function() {
l.stop();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.