对于失败的请求,Angular有自己的状态码0。我正在尝试进行API调用以保持我的应用程序打开30-40分钟。
当我打电话时,API请求命中服务器并重定向到其他应用程序托管的登录页面。当我进行任何API调用时,我可以在fiddler中看到响应302并应该重定向到登录页面。
问题是它被重定向到HTTP而我的应用程序正在使用HTTPS,因此角度在控制台中给出了混合内容错误。
我编写了responseError Interceptor来捕获状态代码302并对Location头进行一些操作,并重定向将URL转换为HTTPS而不是HTTP。这似乎不起作用。在resposeError中我只能看到响应代码0而不是302。
是否有必要使用来自服务器的重定向请求发送access-control-origin标头?
有人可以在这里提供帮助或建议。
提前致谢。
答案 0 :(得分:0)
只有以4或5开头的状态代码才是错误。因此,只有当您获得其中一个代码或请求因其他原因而失败时,才会调用错误拦截器。
您的JavaScript代码中也永远不会得到302,因为浏览器将始终尝试遵循重定向。
您的问题是mixed content(http和https)。 CORS与它无关。修复服务器以使用正确的协议发送URL。