abort()ajax,jquery abort()ajax请求再发送另一个

小编典典

创建所有请求的数组队列。然后,如果找到需要中止所有现有请求的位置,则可以遍历数组并在所有未决请求上调用中止。应该很简单。

尽管另一种方法是只保留一个内部标志,该标志指示当前是否正在处理一个请求,如果有请求,则跳过该请求。或者处理您认为合适的方式。

编辑2:所以我可以做的是有一个数组,您将所有ajax调用附加到该数组。从本质上讲,这只是发出一个XmlHttpRequest,这就是ajax调用返回的结果。所以

requests.push(

$.ajax({

type: 'post',

url: '/test.php',

data: search_data,

success: function(data) {

$('#catalog').html(data);

}

}));

这会将所有请求添加到一个可以在某处定义的请求数组中。然后,当您想杀死所有挂起的请求时,可以遍历数组并调用abort,这将杀死该请求。

for(var i = 0; i < requests.length; i++)

requests[i].abort();

或者只是在函数外部定义一个变量,该变量是指示是否正在发出请求的标志。您甚至可以使其更加具体并存储搜索数据,并且仅跳过对相同数据有待处理请求的请求,并允许其他针对不同数据的请求。

希望这足以让您入门。

2020-07-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值