不知道这样可否解决你的需求:
封装公用Ajax函数,比如Like This:
var Common = {
ajax: function(data,fn,async){
if(typeof(async)==undefined){
async = true;
}
fn = _.isFunction(fn) ? fn : function(data){console.log("data arrived,with no callback:",data);}
$.ajax({
type : "POST",
url : window.location,
async: async,
dataType : "json",
data : data,
beforeSend : Common.loadShow,
})
.always(Common.loadHide)
.done(fn)
}
, loadShow: function(){
//do sth
}
}
, loadHide : function(){
do sth
}
}
使用Like This:
var requestData = "..."; //根据不同状态,做下区别即可;为了复用,也可封装成函数,用函数返回值即可。
Common.ajax( requestData , function(data){...});
如需复用请求成功的处理函数,您也可以将这里回调的匿名函数做下封装。