Javascript 如何在ajaxStart或ajaxSend中中止AJAX请求?
我的要求是,我在我的项目中写了很多$.post方法。 我想检查每个请求中的会话,并根据会话值, 我想处理我的页面。但我不想修改会话的所有方法($.post), 因此,我想在“ajaxStart或ajaxSend”中检查会话,具体取决于 我想要中止主AJAX调用的响应 我用自己的知识尝试过。下面的示例代码不起作用,因为 $.post是异步的。有人能帮我中止AJAX请求吗 处于ajaxStart或ajaxSend状态Javascript 如何在ajaxStart或ajaxSend中中止AJAX请求?,javascript,jquery,Javascript,Jquery,我的要求是,我在我的项目中写了很多$.post方法。 我想检查每个请求中的会话,并根据会话值, 我想处理我的页面。但我不想修改会话的所有方法($.post), 因此,我想在“ajaxStart或ajaxSend”中检查会话,具体取决于 我想要中止主AJAX调用的响应 我用自己的知识尝试过。下面的示例代码不起作用,因为 $.post是异步的。有人能帮我中止AJAX请求吗 处于ajaxStart或ajaxSend状态 var pp; link=function(id){ var url="http:
var pp;
link=function(id){
var url="http://localhost/jqueryui/test.php";
pp=$.post(url,{"id":id},function(data){
$("#div"+id).html(data);
});
}
$(function(){
$("#loading").ajaxStart(function(){
alert("Hi start");
$(this).show();
var url="http://localhost/jqueryui/test.php";
$.post(url,{"id":99},function(data){//checking the session
if(data == "close")
pp.abort();
});
});
});
请参阅jQuery网站。我不知道您使用的是哪个版本的jQuery,但文档中说您可以在发送前从
返回false
以取消该请求。您可以使用回调中的第二个参数“jqXHR”中止该请求:
$( document ).ajaxSend( function( event, jqXHR, ajaxOptions )
{
jqXHR.abort(); // aborts the ajax request
} );
@腐蚀:我同意你的建议。但是我必须对我的代码做更多的修改。因为这个原因,我正在寻找一些替代的解决方案。我确实认为这比试图通过中止ajax调用来破解更可行。这是对ajax调用的浪费