0

对于失败的请求,Angular 有自己的状态码 0。我正在尝试进行 API 调用以使我的应用程序保持打开 30-40 分钟。

当我进行调用时,API 请求会到达服务器并重定向到其他应用程序托管的登录页面。当我进行任何 API 调用时,我可以在提琴手中看到响应 302,并且应该重定向到登录页面。

问题是它被重定向到 HTTP 并且我的应用程序正在使用 HTTPS,因此角度在控制台中给出了混合内容错误。

我编写了 responseError Interceptor 来捕获状态代码 302 并对 Location 标头进行一些操作并重定向以将 URL 转换为 HTTPS 而不是 HTTP。这似乎不起作用。在 resposeError 中,我只能看到响应代码 0 而不是 302。

是否有必要将 access-control-origin 标头与来自服务器的重定向请求一起发送?

有人可以在这里提供帮助或建议一种方法。

提前致谢。

4

1 回答 1

0

只有以 4 或 5 开头的状态码是错误。因此,只有当您获得其中一个代码或请求因其他原因失败时,才会调用错误拦截器。

你也永远不会在你的 JavaScript 代码中得到 302,因为浏览器总是会尝试跟随重定向。

您的问题是内容混合(http 和 https)。CORS 与它无关。修复您的服务器以使用正确的协议发送 URL。

于 2015-10-24T09:25:50.477 回答