我想为jQuery.post(...)完成的所有POST请求注册一个事件处理程序。
我可以使用以下命令为所有ajax请求安装全局处理程序:
$( document ).ajaxComplete(function(ev,xhr) {
console.log(xhr);
});
但是我想让处理程序仅用于POST请求。但我无法弄清楚:
$( document ).ajaxComplete(function(ev,xhr) {
if(xhr.__IS_POST_OR_WHATEVER()) {
console.log(xhr);
}
});
答案 0 :(得分:4)
还有一个附加参数传递给ajaxComplete
事件处理程序;一个对象,其中包含发出请求的设置。该对象具有type
属性,您需要检查该属性:
$(document).ajaxComplete(function(ev, xhr, settings) {
if (settings.type === 'POST') {
console.log('Do something');
}
});
更多信息,请访问docs。