XHR 请求被表示为被取消,尽管它似乎是成功的 [关闭]

Posted

技术标签:

【中文标题】XHR 请求被表示为被取消,尽管它似乎是成功的 [关闭]【英文标题】:XHR request is denoted as being cancelled although it seems to be successful [closed] 【发布时间】:2012-01-08 07:26:01 【问题描述】:

这不是真正的问题,因为代码有效,我只是好奇为什么会发生。

我有以下用于 ajax 帖子的 jQuery 代码:

$.post('./add_fee_row/<?php echo $date; ?>',post, function(data) ... );

一切正常,花花公子。

但在 Chrome 控制台中显示:

为什么说取消了?

一切都好像发帖成功了一样。为什么会这样说?

(如果需要,可以使用php服务器代码)

我使用的是谷歌浏览器版本:17.0.942.0

【问题讨论】:

不久前我在处理一些对 Sinatra Web 服务的调用时遇到了同样的问题,但一直没有弄清楚,所以我也很好奇。 似乎是来自我们的朋友 @ chromium 的又一次重大更新。我也开始收到那些被取消的消息。在使用 jQuery 时也是如此。终于摆脱了那些讨厌的已弃用(***.com/questions/7825448/…)消息,现在这个:P @PeeHaa naaah 我仍然有弃用的消息.... @Neal:我升级到 1.7,在此之前我通过删除罪魁祸首来修复它。 【参考方案1】:

Chrome DevTools 中有一个错误,已修复:http://code.google.com/p/chromium/issues/detail?id=104920

【讨论】:

【参考方案2】:

当 Chrome 发现实际数据与标头不匹配时,可能会发生这种情况。

如果您在添加标题类型的情况下返回答案,则不应说已取消(例如,内容类型:文本/纯文本)

您可以通过查看事件选项卡 - 响应标头来检查它们。

【讨论】:

我的代码具体头类型:header('Content-type: application/json');

以上是关于XHR 请求被表示为被取消,尽管它似乎是成功的 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 在重定向时取消 CORS XHR

为啥 CORS 标头不被视为 XHR 调用的一部分?

使用Promise.race实现超时机制取消XHR请求

Mac 浏览器似乎吞下了最初的 CORS XHR 预检请求

如果已经使用相同的请求运行,则取消订阅/取消 Angular 4 中的现有 HTTP/XHR 调用

如果已经以相同的请求运行,则取消订阅/取消角度4中的现有HTTP / XHR调用