加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为特定请求禁用ajaxStart()和ajaxStop()

发布时间:2020-12-16 03:21:36 所属栏目:百科 来源:网络整理
导读:我使用.ajaxStart()和.ajaxStop()来显示一个模态,同时发出ajax请求。 (开始和停止之间) 现在我想添加一个longpoll函数,不断等待通知,类似于本网站左上角的一个。 我的问题现在在于禁用这种模式只为longpolling请求。 注册“加载屏幕”打开和关闭处理程序
我使用.ajaxStart()和.ajaxStop()来显示一个模态,同时发出ajax请求。 (开始和停止之间)

现在我想添加一个longpoll函数,不断等待通知,类似于本网站左上角的一个。

我的问题现在在于禁用这种模式只为longpolling请求。

注册“加载屏幕”打开和关闭处理程序:

$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);

我的longpoll功能:

$.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()中有一个属性称为全局。

如果设置为false,它不会触发调用的ajaxStart事件。

$.ajax({
    timeout: 35000,global: false,// this makes sure ajaxStart is not triggered
    dataType: 'json',complete: longpoll
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读