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

如果浏览器收到 Ajax 请求的重定向响应会发生什么情况?

108053 次浏览

ajax-request会跟随那个重定向信号。实际内容(.responseText.responseXML)将是重定向到的页面的内容。

您可能能够在 readyState2或3上拦截重定向(status-codelocation-header) ,但是不能确定。

如果浏览器收到 Ajax 请求的重定向响应会发生什么情况?

如果服务器发送一个重定向(也就是302响应加上一个 Location: 头) ,浏览器会自动跟随该重定向。对 第二请求的响应(假设它也不是另一个重定向)是向程序公开的内容。

事实上,您无法检测是否发生了302响应。如果302重定向导致200,那么您的程序的行为就像原始请求直接导致200一样。

这是我的经验和 说明书中提到的行为

2016年更新: 时间已经过去了,好消息是新的 提取() API被规范为提供 如何处理重定向的更细粒度的控制,默认行为类似于 XHR。也就是说,它只能在实现了 GET ()的 天生的中工作。基于 XHR 的 提取()的多重填充版本ーー 继续有 XHR 的局限性。幸运的是,本地浏览器支持似乎已经圆满完成。

fetch是可行的。
更多信息请点击这里: < a href = “ https://github.com/axios/axios/questions/932 # issecomment-515229573”rel = “ nofollow norefrer”> https://github.com/axios/axios/issues/932#issuecomment-515229573