用jQuery监听ajax POST响应

时间:2011-12-02 23:30:15

标签: jquery ajax xmlhttprequest

我正在开发一个执行一些ajax操作的项目。现在ajax调用是通过脚本完成的,我不想进入这些脚本。

此外,发回的响应非常随机,并不容易抓住。他们没有一个可以找到的坚实课程。

对我来说最好的选择是,无论何时通过页面上的任何功能返回帖子,我的一个功能都会被触发。请注意我不知道来电的来源,我对此不感兴趣。我唯一想知道的是收到的帖子。我也对实际的回复后数据不感兴趣。只要页面从页面发出的POST收到一些响应时,只想激活一个函数。

这样的事情是可能的。

2 个答案:

答案 0 :(得分:8)

看看.ajaxSetup()。它允许您添加为从JS代码中的任何位置触发的任何AJAX事件执行的代码。

要在success:事件上运行某些内容,可以解决这个问题:

$.ajaxSetup({
    success: function() {
        // Your code
    }
});

要捕获任何AJAX事件,无论是否失败,请使用:

$.ajaxSetup({
    ajaxComplete: function() {
        // Your code
    }
});

答案 1 :(得分:0)

Bojangles答案的另一个变体是您可以传递这样的其他参数,以便您可以更好地控制请求。

由于此代码将在每个请求上运行,因此如果您想要触发Click函数,您可能不希望偶尔为每个请求触发它。所以你可以将你的点击代码包装在一些条件IF语句中。

$(document).ajaxComplete(function(event,request, settings){
    // Your code here
});