使用ajaxComplete

时间:2015-12-27 14:03:12

标签: jquery ajax

我使用的是jquery 1.11.3。我尝试使用ajaxComplete.It只显示加载图标而不返回错误消息,仅在控制台中。正如我在这里读到的那样:

  

http://www.w3schools.com/jquery/ajax_ajaxcomplete.asp

     

注意:从jQuery版本1.8开始,此方法只应附加到文档。

但是如何在我的情况下使用它?

我的代码是:



$(document).ready(function() {
  $("#email").change(function() {
    var usr = $("#email").val();
    if (usr.length >= 3) {
      $("#status").html('<img align="absmiddle" src="/images/loader.gif" /> Checking availability...');
      $.ajax({
        type: "POST",
        url: "/check_user.php",
        data: "email=" + usr,
        success: function(msg) {
          $("#status").ajaxComplete(function(event, request, settings) {
            if (msg == 'OK') {
              $("#email").removeClass('ErrorField'); // if necessary
              $("#email").addClass("object_ok");
              $(this).html('');
              $("#submit").attr("disabled", false);
            } else {
              $("#email").removeClass('object_ok'); // if necessary
              $("#email").addClass("ErrorField");
              $(this).html(msg);
              $("#submit").attr("disabled", true);
            }
          });
        }
      });
    } else {
      $("#email").removeClass('object_ok'); // if necessary
      $("#email").addClass("ErrorField");
    }
  });
});
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

需要在AJAX success函数中使用AJAX Complete。将您的代码更改为:

$("#status").html('<img src="/images/loader.gif" /> Checking ...');

$.ajax({
  type: "POST",
  url: "/check_user.php",
  data: "email=" + usr,
  success: function(msg) {
    // Remove this completely
    // $("#status").ajaxComplete(function(event, request, settings) {
    if (msg == 'OK') {
      $("#email").removeClass('ErrorField'); 
      $("#email").addClass("object_ok");
      $(this).html('');
      $("#submit").attr("disabled", false);
    } else {
      $("#email").removeClass('object_ok'); 
      $("#email").addClass("ErrorField");
      $(this).html(msg);
      $("#submit").attr("disabled", true);
    }
  });
  // And this too.
  // }
});