网上有不少说法ajax的请求url浏览器不会重定向的说法是片面的,正常是这样的:
当服务器将302响应发给浏览器时,浏览器并不是直接进行ajax回调处理,而是先执行302重定向——从Response Headers中读取Location信息,然后向Location中的Url发出请求,在收到这个请求的响应后才会进行ajax回调处理。大致流程如下:
ajax -> browser -> server -> 302 -> browser(redirect) -> server -> browser -> ajax callback
所以说不是ajax请求浏览器没法重定向,而是ajax无法控制控制重定向。