项目里已经存在大量的$.ajax,全部替换工作量太大。
目前想先在jquery.ajax的success执行前处理某个任务(利用apply),但一直不知道怎么获取success的回调…
或者请问还能有什么其他办法实现呢?
使用ajax的全局绑定系列函数
比如:
$(document).ajaxComplete(){}
ajaxSuccess(callback)
//当 AJAX 请求成功后显示消息。
$("#msg").ajaxSuccess(function(evt, request, settings){
$(this).append("<li>请求成功!</li>");
});
可以看看这里关于ajax的前置和后置处理函数
问题已经解决
var _ajax = window.$ajax;
window.$.ajax = function(options){
var _success = options.success;
options.success = function(res){
//事前处理,因为原success的代码保存到_success了,直接调用就行了
};
return _ajax.apply(this, arguments);
};