我正在尝试覆盖 jQueryajax
函数来处理成功事件的默认操作,但也执行我在中使用的回调函数options
范围。
目的是什么?响应中返回的标签我总是想从响应中删除以在其他地方使用。
场景是:
- Ajax提交
- 阿贾克斯成功
- --默认成功操作
- --调用Ajax成功回调
有人可以帮忙吗?
我尝试过延长
jQuery.ajax
-
jQuery.ajaxSuccess
jQuery.ajax.done
我的代码是:
var _ajaxSuccess = jQuery.fn.ajaxSuccess;
$.fn.extend({
ajaxSuccess: function (a)
{
_ajaxSuccess.apply(this, a);
}
});
有全球的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);
}
在调用原始成功回调之前,您可以对通常的成功回调参数执行任何您需要的操作。你会打电话wrapped_ajax
完全相同的方式$.ajax
。您也可以使用相同的技术来挂钩其他回调。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)