阻止请求ajax,如何阻止Ajax请求存在另一个请求

该博客讨论了如何在实现无限滚动功能时避免发送多个Ajax请求导致的数据重复问题。作者提到使用变量`activeAjaxConnections`来跟踪当前活动的请求,并在`beforeSend`中检查是否已有请求正在进行,如果有,则取消新的请求。然而,代码似乎出现了问题,导致错误:'XHR is uncertain request'。博主寻求帮助以解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我试图做无限滚动,所以当滚动我向服务器发送ajax请求来获取数据但滚动多个Ajax请求时,并返回相同的数据,所以如何我可以在发送前取消Ajax请求,如果有一个已经存在,我想这样的如何阻止Ajax请求存在另一个请求

data: ({

beforeSend: function (xhr) {

if (activeAjaxConnections != 1) {

xhr.abort();

}

activeAjaxConnections++;

//Show Loader....

$("#Ajax-Load-Image").css('visibility', 'visible');

},

我所有的代码

var lock_load = '1';

var activeAjaxConnections = 1;

var PageNumber = 2;

$(window).scroll(function() {

if ((Math.ceil($(window).scrollTop() - $(window).height()) * -1) <= getHeight() + 550) {

if (lock_load === '1') {

var xhr = $.ajax({

type: "POST",

async: true,

dataType: "json",

url: ajaxurl,

data: ({

beforeSend: function (xhr) {

if (activeAjaxConnections != 1) {

xhr.abort();

}

activeAjaxConnections++;

//Show Loader....

$("#Ajax-Load-Image").css('visibility', 'visible');

},

type: "POST",

action: 'Ajax_Get_SpacesAndSponsors',

Page: PageNumber

}),

success: function (response) {

PageNumber++;

var Message = response.spaces.Message;

console.log(response);

console.log(Message);

Draw_SpacesAndSponsor(response);

lock_load = response.spaces.Lock_load;

activeAjaxConnections--;

},

error: function (errorThrown) {

alert(errorThrown);

n }

});

}

}

});

,但它给出一个错误XHR是不确定的请求任何帮助,许多在此先感谢。

2015-06-19

Fadi

+1

如果你想让它完成之前停止AJAX调用,为什么不直接包住'$。阿贾克斯(...)'来检查,如果activeAjaxConnections为1的条件之间? –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值