如何在jquery中停止Ajax调用[重复]
Posted
技术标签:
【中文标题】如何在jquery中停止Ajax调用[重复]【英文标题】:How to stop Ajax call in jquery [duplicate] 【发布时间】:2014-04-04 14:08:54 【问题描述】:我想在 jquery 中停止一个 ajax 调用,但它不起作用
var xhr = null;
xhr = $.ajax(
url : 'www.example.com?some-large-call',
success : function(responseText)
// some DOM manipulation
);
$("#button").click(function() xhr.abort() );
我参考了下面的链接
http://www.stoimen.com/blog/2009/09/29/jquery-stop-an-ajax-call/
【问题讨论】:
在这个过程中你检查过控制台吗?如果是这样,它说明了什么? 总是定义“不工作”!!!因为我猜它有效,但不像你期望的那样。那么你期待什么呢? 【参考方案1】:这可能有更多 XHR..
请看这个答案:
jquery abort() ajax request before sending another
来自链接:
每次你做ajax请求时,添加到数组中:
requests.push(
$.ajax(
type: 'post',
url: '/test.php',
data: search_data,
success: function(data)
$('#catalog').html(data);
));
然后,当您想停止通话时.. 遍历数组并中止所有调用..
for(var i = 0; i < requests.length; i++)
requests[i].abort();
谢谢
【讨论】:
不鼓励链接答案。 我没有 enuf 代表可以为其他任何内容添加评论 :( - 如果可以,我可以删除? 无需删除,在此答案中添加摘要即可。 @JFit 你应该因为重复而投票结束问题 对不起 wolff.. 不知道该怎么做.. 我更新我的评论..【参考方案2】:xhr.abort() 它将导致客户端停止侦听事件,但可能不会阻止服务器处理它。
【讨论】:
【参考方案3】:如果您粘贴的代码是您实际使用的代码,则难怪它不起作用。
正如网站上所说,它只是用于说明示例的伪代码。那里没有 AJAX 请求,也没有什么可以停止(至少没有什么大到可以停止)
【讨论】:
以上是关于如何在jquery中停止Ajax调用[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在页面之间导航后如何在jquery mobile中停止重复数据
如何在递归的AJAX调用中提供“解决”,以便我可以使用“完成”?