【发布时间】:2012-09-18 06:08:10
【问题描述】:
我正在使用 .ajaxStart() 和 .ajaxStop() 在发出 ajax 请求时显示模式。 (在开始和停止之间)
现在我想添加一个longpoll函数,一直等待通知,类似于本站左上角的那个。
我现在的问题在于仅针对长轮询请求禁用此模式..
注册“加载屏幕”开启和关闭处理程序:
$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);
我的长轮询函数:
$.ajax({
timeout: 35000,
url: longPollUrl,
success: function(data){
if(data.queCount) $('#numQueCount').html(data.queCount);
if(data.queAccept) $('#numQueAccept').html(data.queAccept);
},
dataType: 'json',
complete: longpoll
});
我试过了:
$().off('ajaxStart');
$().off('ajaxStop');
..并在开始轮询后重新附加处理程序,但没有任何乐趣。
我还尝试在 handleAjaxStart() 中引入一个全局变量,该变量将在函数的第一行返回,但这似乎完全终止了加载屏幕。
有什么想法可以实现吗?
【问题讨论】:
标签: ajax jquery long-polling