如果浏览器接收重定向响应Ajax请求,会发生什么?
Answer 1:
如果浏览器接收重定向响应Ajax请求,会发生什么?
如果服务器发送重定向(又名302响应加上地点:报头)的重定向自动执行浏览器。 到第二请求的响应(假设它也不是另一个重定向)什么是暴露你的程序。
其实,你不必检测是否发生了302响应的能力。 如果302重定向导致了200,那么你的程序的行为相同,就好像原始请求直接导致了200。
这一直是我的两个经验和在规范中叫出来的行为 。
2016更新:时间已经过去了,好消息是,新取()API是只具备提供的重定向是如何处理的更细粒度的控制 ,类似于XHR默认行为。 这就是说,它只能在那里取()被本地实现。 取出的填充工具的版本()是基于XHR-哪位继续有XHR的局限性 。 幸运的是, 原生浏览器支持似乎很好四舍五入了。
Answer 2:
在ajax-request
将跟踪该重定向AFAIK。 实际内容( .responseText
, .responseXML
)将是你会被重定向到页面的内容。
你也许能够拦截重定向( status-code
, location-header
上) readyState
2或3,但不知道这件事。
文章来源: Returning redirect as response to XHR request