如果浏览器接收到对ajax请求的重定向响应,会发生什么?
如果浏览器接收到对ajax请求的重定向响应,会发生什么?
如果服务器发送重定向(又称为302响应加上一个Location:头),重定向自动跟随浏览器。对第二个请求的响应(假设它也不是另一个重定向)是暴露给你的程序。
事实上,你没有能力来检测是否发生了302响应。如果302重定向导致200,那么你的程序的行为相同,就像原始请求直接导致200。
这是我的经验和behavior called out in the spec。
2016更新:时间已过,好消息是,新fetch() API被规定提供finer-grained control of how redirects are handled,默认行为类似于XHR。也就是说,它只适用于fetch()本地实现。 Polyfill versions of fetch() – 基于XHR-continue to have XHR’s limitations。幸运的是,native browser support似乎正在四舍五入。