javascript - 中止 jQuery getJSON XMLHttpRequest

标签 javascript jquery getjson

原来这是一个 Firebug 错误的产物。 Ajax 请求已取消,但 Firebug 继续将其报告为事件状态。详情 here .


我长时间运行 XMLHttpRequests,我需要能够在某些情况下中止它们。

我以正常方式设置请求:

ajax = $.getJSON(url + "?updates", function(data) { ...; });

稍后我想中止这个请求,看起来很简单:

ajax.abort();

但是,当我查看 Firebug 时,我发现它仍在运行...

在我尝试并中止它之前,我控制台注销了 ajax 的值,它确认它的值是 XMLHttpRequest(readyState 为 0)。

对于如何以及何时在 XMLHttpRequest 上触发 abort() 是否有限制?

最佳答案

Calling abort resets the object; the onreadystatechange event handler is removed, and readyState is changed to 0 (uninitialized).

我不认为它会取消请求本身,它只是忽略任何响应(操纵事件处理程序)- 但我还没有真正尝试过。

但它绝对允许您重用该对象 - 无论浏览器是否仍有一些线程处理旧请求。

关于javascript - 中止 jQuery getJSON XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287971/

相关文章:

Javascript - 获取对象数组中特定键值的第 n 个最大值

php - 将 DIV 转换为输入元素并将数据保存到数据库中

php - 如何使用jQuery在父窗口中提交表单而不刷新父窗口的内容(Ajax提交)

jquery - .getJSON() 返回 null

jQuery .getJSON() Twitter 搜索,结果未定义。

javascript - YUI3 JavaScript : get CSS for placeholder text

javascript - javascript中的拖放操作

jquery - Chrome 扩展 - Chrome 启动时执行代码

javascript - 使用javascript删除浏览器的所有Cookies

jquery - 允许 SPAN 溢出其包含的 DIV