如何在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调用中提供“解决”,以便我可以使用“完成”?

如果没有得到响应,如何在 30 秒后停止 ajax 调用? [复制]

如何停止模式对话框中的重复条目

jquery如何进行多个ajax调用[重复]

键盘输入时,如何在Ajax调用URL更改后停止MVC页面刷新