jquery - Ajax 重定向处理

标签 jquery ajax redirect http-status-code-302

我遇到了以前从未遇到过的情况。我有一位客户需要向 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/

相关文章:

apache - 使用 app/webroot 在 CakePHP 中将非 www 重定向到 www

jquery select2插件如何仅获取结果 'myString%'

javascript - 填充命令不起作用,我无法在各部分之间留出空格

ajax - polymer 1.0铁 Ajax

javascript - 跨域问题 - api 与前端的域不同

redirect - Magento 2 无法从管理 Controller 重定向到前端

apache - 将 *.domain.com 重定向到带有 HTTP 或 HTTPS 前缀的 www.domain.com

javascript - 将变量传递给 ajax 回调

javascript - 使用javascript获取CSS样式属性

javascript - 设置 UP 第二个 setTimeout 函数不会执行 JQUERY 和 AJAX