[英]Returning redirect as response to XHR request
如果浏览器收到对 ajax 请求的重定向响应会发生什么?
如果浏览器收到对 ajax 请求的重定向响应,会发生什么?
如果服务器发送重定向(又名 302 响应加上 Location: 标头),则浏览器会自动跟随重定向。 对第二个请求的响应(假设它也不是另一个重定向)是向您的程序公开的内容。
事实上,您没有能力检测是否发生了 302 响应。 如果 302 重定向导致 200,那么您的程序的行为与原始请求直接导致 200 相同。
2016 年更新:时间过去了,好消息是新的fetch() API被规范为对重定向的处理方式提供更细粒度的控制,默认行为类似于 XHR。 也就是说,它仅适用于本机实现 fetch() 的情况。 fetch() 的 Polyfill 版本——基于 XHR——仍然有 XHR 的局限性。 幸运的是,本地浏览器支持似乎很好。
ajax-request
将遵循该重定向 afaik。 实际内容( .responseText
、 .responseXML
)将是您重定向到的页面中的内容。
您可能能够在readyState
2 或 3 上拦截重定向( status-code
、 location-header
),但不确定。
TLDR:它是可行的fetch
。
更多信息: https : //github.com/axios/axios/issues/932#issuecomment-515229573
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.