检测是否以及何时进行任何jQuery AJAX调用

时间:2011-05-13 14:23:16

标签: javascript jquery ajax

我的所有网页上都有一个工具栏,可以定期向服务器端XML文件发出请求。

某些网页也会向同一XML文件发出请求,但更频繁。理想情况下,我希望在可能的情况下将其轻松合并到一个请求中。工具栏使用与页面相同的请求(因为页面刷新率大于工具栏的请求)

有没有办法判断是否对某些资源进行了任何jQuery AJAX调用,如果是,请通知成功?

更新

根据Darin Dimitrov的回答,我尝试了以下内容:

$.ajaxSetup({
   success: function(){ console.log("woop"); }
 });

这绝不会触发,我认为因为当我进行其他AJAX调用时,成功处理程序被覆盖。

3 个答案:

答案 0 :(得分:4)

您可以使用$.ajaxSetup()订阅常见事件。

答案 1 :(得分:1)

订阅文档级别的所有ajax事件;

$(document).bind("ajaxSend", function(){
   alert('ajax fired');
});

答案 2 :(得分:0)

在你的AJAX添加响应回调中,如下所示:

$.ajax({
    type: "POST",
    url: "mypage.php",
    data: "name=John&location=Boston",
success: function(data){
     alert(data);
    }
});

并在您处理AJAX请求的php页面上添加一些echo语句:

echo "POSTed OK!";

如果您发布成功,您将收到提醒确认。 如果它失败了,你也可以得到确认,但稍微修改一下代码:

success: function(result) {
    if (result==1) {
        alert('Success');
    } else {
        alert('Failed');
    }
}
祝你好运!