Copy codeThe Code is as follows:
/*
GET and POST methods that prevent repeated ajax requests
*/
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 );
}
});
}
})
Of course, you can extract a common part or encapsulate the $. ajax method, but here is just a note...