我正在使用Google Closure 的 Xhrio 工具向 URL 发送 POST 请求。当对此请求的响应是 302 重定向时,我想将用户的浏览器重定向到被重定向到的 URL。
我尝试调用getLastUri
传递给回调的对象,但它返回请求的 URI,而不是后续重定向的 URI。getStatus
返回 200。我知道请求被正确重定向,因为我可以在 Chrome 的网络请求查看器中看到它。
我正在使用Google Closure 的 Xhrio 工具向 URL 发送 POST 请求。当对此请求的响应是 302 重定向时,我想将用户的浏览器重定向到被重定向到的 URL。
我尝试调用getLastUri
传递给回调的对象,但它返回请求的 URI,而不是后续重定向的 URI。getStatus
返回 200。我知道请求被正确重定向,因为我可以在 Chrome 的网络请求查看器中看到它。
临时重定向 (302) 可能由浏览器处理,而 javascript 永远无法看到它。
我们也遇到了类似的问题,我只是通过修改服务器端代码以在遇到某个标头(X-HTTP-Method-Override)时发送 401 而不是 302 来解决它,您必须在请求中明确设置该标头。服务器响应可以在响应中包含重定向 url(以及 401 状态)。
这个 stackoverflow 问题说明了服务器端的变化:“ Cannot handle 302 redirect in ajax and why? ”