小编典典

返回重定向作为对XHR请求的响应

ajax

如果浏览器收到对ajax请求的重定向响应,该怎么办?


阅读 265

收藏
2020-07-26

共1个答案

小编典典

如果浏览器收到对ajax请求的重定向响应,该怎么办?

如果服务器发送了重定向(又名302响应加上Location:标头),则浏览器将自动跟随重定向。对 第二个
请求的响应(假设它也不是另一个重定向)是程序所暴露的。

实际上,您没有能力检测是否已发生302响应。如果302重定向导致200,则您的程序的行为就如同原始请求直接导致200。

这既是我的经验,也是规范中提到行为

2016年更新:
时间已经过去,而且好消息是,新的fetch()API经过专门设计,可以对重定向的处理方式进行更细粒度的控制,其默认行为类似于XHR。也就是说,它仅在 本地
实现fetch()的地方有效。基于XHR的 polyfill
版本的fetch()仍然具有XHR的局限性。幸运的是,本机浏览器支持似乎很好。

2020-07-26