我正在发出一个CORS请求,它返回一个带有位置标头的202空响应来查询数据。
但是浏览器没有重定向到位置标题中的url。在Chrome / Firefox上尝试过,它也是如此。
jQuery.ajax(url, options).done((result: any) => {
});
。在202响应后立即调用.done
答案 0 :(得分:2)
查看HTTP规范,尤其是this part:
14.30位置
Location response-header字段用于重定向 收件人到Request-URI以外的位置以完成 请求或新资源的标识。为201 (创建)响应,Location是新资源的位置 是由请求创建的。 对于3xx响应,位置应该是 指示服务器的首选URI 以进行自动重定向 资源。字段值由单个绝对URI组成。
由于仅针对3xx响应提及了自动重定向(实际上我检查了整个规范),这意味着对于任何其他状态代码,它依赖于浏览器。 Wikipedia也证实:
提供有关新创建资源位置的信息。 在这种情况下,应使用HTTP发送Location标头 状态代码为201或202
我认为可以安全地假设浏览器的运行方式。您必须手动重定向。