ajaxStop用于特定事件

时间:2013-04-09 20:05:27

标签: jquery ajax

我读了这篇question,但由于成功:功能,它没有多大帮助。它不了解Ajax响应的完成情况。有谁知道如何使用Ajax停止特定事件?

详细信息:我有一个发送请求的Ajax代码,我希望它在收到响应时执行某些操作。我通过以下函数执行此操作,但它获取了Ajax的所有文档,我无法将任何Ajax添加到页面。

$(document).ajaxStop(function() {
                ....;
                alert("start");
});

1 个答案:

答案 0 :(得分:0)

ajaxStop旨在用于全局AJAX完成行为。您可能希望使用常规complete处理程序:

$.ajax({
  url: "some/path.php",
  complete: function() { alert("start"); }
});

或者您可以使用always承诺方法:

$.ajax({
  url: "http://fiddle.jshell.net/favicon.png",
}).always(function() {
  alert("start");
});

更新:

查看下面的评论,您可能真的想要成功使用(特别是当您对response感兴趣时:

$.ajax({
  url: "some/path.php",
  success: function(response) { alert(response); }
});

或者您可以使用done承诺方法:

$.ajax({
  url: "http://fiddle.jshell.net/favicon.png",
}).done(function(response) {
  alert(response);
});

但是,请务必注意,这两种方法仅在您从服务器收到成功响应时执行(状态码200)。