我正在尝试实现一个简单的拦截器,它允许我在Angular应用程序中显示“无法联系服务器”的消息。但是,由于API位于不同的主机上,我正在处理CORS飞行前OPTIONS
请求。
我发现如果API不可用,Chrome开发者工具会在503
请求中显示OPTIONS
,但Angular的$http
拦截器会对后续版本捕获404
个响应GET
请求。我相信这是因为OPTIONS
响应不包含所需的CORS标头,因此GET
实际上从未执行过。
是否可以拦截OPTIONS
响应?如果我看到的只是一个404
我无法将“服务器关闭”与“没有这样的资源”区分开来。
答案 0 :(得分:3)
您无法通过设计拦截此请求 - 浏览器正在“检查”您,确保您应该被允许提出请求。
我们使用了三种解决方案来解决这个问题: