检测特定的ajax事务

时间:2015-07-01 15:59:58

标签: javascript jquery ajax

我有一种机制,我运行ajax事务以使用长轮询技术,因此请求将保持打开一段时间。但我有另一种机制,每次页面使用

进行加载或另一个ajax事务
   ajaxStart ()

事件我画了一个加载图标,当用事件检测到ajax事务完成时

   ajaxComplete()

我用。隐藏了这个图标。

我的问题是,有什么方法可以知道我的ajaxStart和ajaxComplete上有哪些ajaxTransaction,以防万一是长轮询ajax事务?

问候。

1 个答案:

答案 0 :(得分:1)

在执行长轮询的global: false来电中设置$.ajax()

$.ajax({
    global: false,
    // the rest of your parameters
});

这会阻止此$.ajax()调用触发任何全局ajax事件:ajaxStartajaxStopajaxSendajaxSuccess,{{1} }和ajaxError。您的代码中的其他ajaxComplete次调用仍会像往常一样触发这些事件,除非您已使用$.ajax()全局禁用它们。

以下是展示此内容的fiddle

文档页面:

$.ajax()

Global Ajax Event Handlers(此页面不完整;未提及您可以在$.ajaxSetup({global:false})个人电话上使用global: false。)