我有一个用PHP编写的后端和jQuery的前端..我想做什么:
有可能吗?
感谢您的帮助。
更新
jQuery(document).ajaxComplete(function(a, b, c){
console.log(a, b, c);
b.abort();
return false; });
答案 0 :(得分:2)
您是否尝试过使用event.stopImmediatePropagation()
?它声明“阻止其他事件处理程序被调用”。从查看jQuery源代码我们看到了这个
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s] );
// Handle the global AJAX counter
if ( !( --jQuery.active ) ) {
jQuery.event.trigger( "ajaxStop" );
}
}
以下是可能解决您的问题的工作示例http://jsfiddle.net/Akkuma/95zfj/
需要注意的是,如果ajaxCompletes并非全部绑定到同一元素,它似乎不起作用。
答案 1 :(得分:0)
我不确定您的方案,但这里是一个SO链接
Abort Ajax requests using jQuery
解释了使用 ajax
中止.abort
来电,但如果已对服务器进行了调用,则.abort
无法关闭与服务器的现有连接,无论如何都会执行已经完成的ajax调用的所有success
回调......
HTH
答案 2 :(得分:0)
如果我正确理解了问题,则无法根据响应字符串阻止回调调用。问题是在执行回调之后调用ajax全局事件处理程序,如ajaxSuccess和ajaxComplete。