【发布时间】:2015-09-27 13:06:33
【问题描述】:
这与 SO 中的 post 类似。但此处提供的答案不适用于我的情况,因为我无法更改服务器的响应标头。
假设一个 http POST 到不同的来源。这意味着 CORS,包括 CORS 飞行前交换。现在假设 OPTIONS 请求由于服务器问题返回 503 service unavailable 错误。在这种情况下,错误处理程序为数据提供"",为状态提供0,而不是为我提供状态代码503和文本:service not available。下图说明了这种情况的一个示例。
我正在使用 angularjs $http,如果发生此类错误,我知道在响应中没有 CORS 标头。我无法更改它。
有什么方法可以让我收到正确的错误代码和拒绝对象中的文本。
【问题讨论】:
-
我可能会问一个显而易见的问题,但是如果您无法更改服务器并且您知道它没有 CORS 标头,那么您为什么还要尝试在第一个跨站点请求地点?
-
@Claies 感谢您抽出宝贵时间!服务器为所有成功的请求发送 CORS 标头。但是当像
503-service unavailable这样的错误发生时,它根本不发送我无法控制的 CORS 标头。 -
嗯我以前从未遇到过这类问题,但我会对此进行一些研究,看看我能挖掘出什么。
-
我也在尝试深入研究,看看为什么 Angular 将真实状态码转换为 0。
-
@Claies 这个响应头是获取状态码的唯一原因吗?
标签: angularjs http-status-code-503