Qpi*_*ate 2 javascript ajax jquery
我试图覆盖jQuery ajax函数来处理成功事件的默认操作,但也执行我在options参数中使用的回调函数.目的是在响应中返回标记,我总是希望从响应中删除以便在其他地方使用.
场景是:
有人可以帮忙吗?我试过扩展
jQuery.ajaxjQuery.ajaxSuccess jQuery.ajax.done我的代码是:
var _ajaxSuccess = jQuery.fn.ajaxSuccess;
$.fn.extend({
ajaxSuccess: function (a)
{
_ajaxSuccess.apply(this, a);
}
});
Run Code Online (Sandbox Code Playgroud)
有全球ajaxSuccess回调:
每当Ajax请求成功完成时,jQuery就会触发该
ajaxSuccess事件..ajaxSuccess()此时已执行已使用该方法注册的所有处理程序.
这将允许您在每次成功的AJAX调用时调用自己的函数,而不会干扰通常的成功回调.
您可能还需要查看各种其他全局AJAX事件处理程序.
如果这些回调没有适合您的时间或功能,那么您可以编写自己的包装$.ajax并使用它:
function wrapped_ajax(options) {
var success = options.success;
options.success = function(data, textStatus, jqXHR) {
// Do whatever needs to be done here.
if(success)
success(data, textStatus, jqXHR);
};
return $.ajax(options);
}
Run Code Online (Sandbox Code Playgroud)
在调用原始成功回调之前,您可以对通常的成功回调参数执行任何操作.你打电话wrapped_ajax的方式完全一样$.ajax.您也可以使用相同的技术挂钩其他回调.
| 归档时间: |
|
| 查看次数: |
8289 次 |
| 最近记录: |