我遇到了以前从未遇到过的情况。我有一位客户需要向 URL 发出 ajax 请求。由于内部原因,该 URL 重定向到需要访问其状态代码的另一个 URL。这种多请求场景是由 Ajax 请求原生处理的吗?
使用 jQuery 的快速测试似乎可以处理 302、执行重定向并返回目标页面的内容(我只需要生产中的状态代码,但内容是“证明”正确页面的内容)已访问),但我找不到任何迹象表明我可以期望它普遍适用。我不知道客户将使用什么库(如果有的话)。此外,其他客户端将来可能会使用相同的 URL,需要以相同的方式进行处理。
谢谢。
最佳答案
您可以期望它能够普遍工作,因为它不是 jQuery 进行处理的。这是所有库用于 AJAX 调用的基础 XmlHtpRequest
浏览器对象的指定行为。
You can find the behavior specified here by the W3C :
If the origin of the URL conveyed by the Location header is same origin with the
XMLHttpRequest
origin and the redirect does not violate infinite loop precautions, transparently follow the redirect while observing the same-origin request event rules.
我在这里强调了最相关的部分,只要它不违反same-origin policy规则(它不应该在您的同一域上),XmlHttpRequest 将获取它重定向到的最终页面的内容。换句话说,这就是您现在在 jQuery 中看到的行为...只是不是 jQuery 这样做的。
关于jquery - Ajax 重定向处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4168784/