4

我正在向另一个域上的服务器发出 ajax 请求,但我实际上并不需要它的响应,只是为了知道它得到了我的请求。当一切正常时,在 Chrome 开发者工具(标题状态)中显示“已取消”,控制台显示“XMLHttpRequest 无法加载”,但服务器收到了我的请求。当服务器关闭时,标头状态不是数字,而只是“失败”。试图在 JS 上捕捉到这一关键差异,我在这两种情况下都得到了 XHR 状态 0。

4

1 回答 1

0

我正在向另一个域上的服务器发出 ajax 请求

由于同源策略,您无法向其他域发出 ajax 请求。您想查看 JSONP,它本质上为远程 URL 写出一个<script>标签。

JSONP 到底是什么?

使用 JSONP 调用检测成功/错误很棘手,它根本不像典型的 ajax 调用那样工作。理想情况下,您希望远程服务器在您的页面上调用回调函数,如上面的链接所述。

如果您不控制其他域,则可以尝试使用超时来检测错误。这是一篇讨论 jQuery 超时参数的帖子,尽管您当然也可以使用原始 javascript 实现自己的超时。

于 2013-04-05T02:51:33.313 回答