我有一种机制,我运行ajax事务以使用长轮询技术,因此请求将保持打开一段时间。但我有另一种机制,每次页面使用
进行加载或另一个ajax事务 ajaxStart ()
事件我画了一个加载图标,当用事件检测到ajax事务完成时
ajaxComplete()
我用。隐藏了这个图标。
我的问题是,有什么方法可以知道我的ajaxStart和ajaxComplete上有哪些ajaxTransaction,以防万一是长轮询ajax事务?
问候。
答案 0 :(得分:1)
在执行长轮询的global: false
来电中设置$.ajax()
:
$.ajax({
global: false,
// the rest of your parameters
});
这会阻止此$.ajax()
调用触发任何全局ajax事件:ajaxStart
,ajaxStop
,ajaxSend
,ajaxSuccess
,{{1} }和ajaxError
。您的代码中的其他ajaxComplete
次调用仍会像往常一样触发这些事件,除非您已使用$.ajax()
全局禁用它们。
以下是展示此内容的fiddle。
文档页面:
Global Ajax Event Handlers(此页面不完整;未提及您可以在$.ajaxSetup({global:false})
个人电话上使用global: false
。)