防止ajax重復(fù)請(qǐng)求的方法(GET和POST)
更新時(shí)間:2011年10月17日 18:46:34 作者:
防止ajax重復(fù)請(qǐng)求的方法(GET和POST) ,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
/*
防止ajax重復(fù)請(qǐng)求的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<arguments.length;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<arguments.length;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);
}
});
}
})
當(dāng)然,這里可以抽出共同的一部分,也可以去封裝$.ajax方法,但這里只是筆記...
相關(guān)文章
使用ajax加載的頁(yè)面中包含的javascript的解決方法
使用ajax加載的頁(yè)面中包含的javascript的兩個(gè)解決方法, 需要的朋友可以參考下。2010-09-09
jQuery ajax json 數(shù)據(jù)的遍歷代碼
最近做了一個(gè)項(xiàng)目,其中有需求要進(jìn)行ajax請(qǐng)求后,后臺(tái)傳遞回來(lái)以下json數(shù)據(jù)。下面小編給大家分享我的實(shí)現(xiàn)思路,需要的朋友參考下2016-06-06
ajax實(shí)時(shí)任務(wù)提示功能的實(shí)現(xiàn)代碼
本項(xiàng)目運(yùn)用了 FLEAPHP,MYSQL,SMARTY,FCKEDItor,JSON,PROTOTYPE的技術(shù),在這里首先要感謝這些開(kāi)源項(xiàng)目的開(kāi)發(fā)者給我們帶來(lái)的好東西,其次要感謝[生氣豬--讓我?guī)退鲆粋€(gè)這樣的小東西來(lái)提醒她按時(shí)完成事情].花了一個(gè)3個(gè)小時(shí)完成.希望給大家起到拋磚引玉的作用啊....2008-09-09
解決ajax提交到后臺(tái)數(shù)據(jù)成功但返回不走success而走的error問(wèn)題
今天小編就為大家分享一篇解決ajax提交到后臺(tái)數(shù)據(jù)成功但返回不走success而走的error問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Jquery中ajax提交表單幾種方法(get、post兩種方法)
ajax技術(shù)帶給我們的是良好的用戶(hù)體驗(yàn),同時(shí),使用jquery可以簡(jiǎn)化開(kāi)發(fā),提高工作效率,接下來(lái),腳本之家小編給大家分享Jquery中ajax提交表單幾種方法,需要的朋友可以參考下2015-09-09
通過(guò)history解決ajax不支持前進(jìn)/后退/刷新的問(wèn)題
下面小編就為大家?guī)?lái)一篇通過(guò)history解決ajax不支持前進(jìn)/后退/刷新的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07

