如果浏览器收到对ajax请求的重定向响应,会发生什么
如果浏览器收到对ajax请求的重定向响应,会发生什么情况?
如果服务器发送重定向(即302响应加上Location:header),则浏览器会自动跟随重定向。对第二个请求的响应(假设它也不是另一个重定向)是向您的程序公开的
事实上,您无法检测是否发生了302响应。如果302重定向指向200,那么您的程序的行为与原始请求直接指向200的行为相同
这是我的经验,也是规范中提到的行为
2016更新:时间已经过去,好消息是新的fetch()API被指定为提供更细粒度的重定向处理控制,默认行为类似于XHR。也就是说,它只在fetch()本机实现的地方起作用。基于XHR的fetch()的Polyfill版本仍然存在XHR的限制。幸运的是,本机浏览器支持似乎很完善