簡體   English   中英

為什么不執行$ .ajax()的.always方法回調函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM