如何防止ajax重复请求

来源:爱站网时间:2020-05-05编辑:网友分享
 在ajax中大家都知道经常会遇到重复请求的问题,这个问题很麻烦,经常会让用户们手足无措,那么你知道如何防止ajax重复请求吗?接下来我们就跟爱站小编一起去看看吧。

 在ajax中大家都知道经常会遇到重复请求的问题,这个问题很麻烦,经常会让用户们手足无措,那么你知道如何防止ajax重复请求吗?接下来我们就跟爱站小编一起去看看吧。

 

/*
防止ajax重复请求的GET和POST方法
*/
jQuery.extend({
getx:function(url,data,callback,sender){
var params={url:url,data:null,callback:null,sender:null};
for(var i=1;i if(arguments[i]!=null){
var ptype=typeof(arguments[i]);
if(ptype=="function"){
params.callback=arguments[i];
}
else if(ptype=="string"){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else if(ptype=="object"){
if(arguments[i].tagName || arguments[i].selector){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else{
params.data=arguments[i];
}
}
}
}
params.sender.data("isRequesting",true);
return $.get(params.url,params.data,function(data,status){
params.sender.data("isRequesting",false);
if(data=="unlogin"){
window.top.location.href="/login.aspx";
return;
}
if(params.callback){
params.callback (data,status);
}
});
},
postx:function(){
var params={url:url,data:null,callback:null,sender:null};
for(var i=1;i if(arguments[i]!=null){
var ptype=typeof(arguments[i]);
if(ptype=="function"){
params.callback=arguments[i];
}
else if(ptype=="string"){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else if(ptype=="object"){
if(arguments[i].tagName || arguments[i].selector){
params.sender=$(arguments[i]);
if(params.sender.data("isRequesting"))
return null;
}
else{
params.data=arguments[i];
}
}
}
}
params.sender.data("isRequesting",true);
return $.post(params.url,params.data,function(data,status){
params.sender.data("isRequesting",false);
if(data=="unlogin"){
window.top.location.href="/login.aspx";
return;
}
if(params.callback){
params.callback (data,status);
}
});
}
})


当然,这里可以抽出共同的一部分,也可以去封装$.ajax方法,但这里只是笔记...

以上就是小编为大家分享如何防止ajax重复请求的内容,希望你正好需要,更多精彩内容,请继续关注爱站技术频道。

上一篇:实用的ajax用户注册模块

下一篇:IE6中ajax aborted错误请求中断怎么办

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载