即使 CORS 不允许 header 值,Angularjs 也会继续进行服务器调用

标签 angularjs http cors interceptor

我有一个与各种 Java 服务对话的 AngularJS 应用程序。在应用程序中,我在 http 拦截器中有一个全局 http header 设置。这意味着来 self 的应用程序的所有服务请求都将获得 header 值。

现在的问题是所有服务 CORS 设置都不允许这个 header 值。几个服务有,而其他服务没有。对不支持 header 的服务器的服务调用失败,因为 http 拦截器总是放置 header 值。

在上述情况下,是否有更好的设计方法来避免上述问题?

感谢任何帮助...

最佳答案

如何添加一个响应拦截器来查找 401 状态?如果收到 401,请尝试在没有 header 的情况下再次执行相同的请求。如果成功,将此域“列入白名单”以发出所有后续请求,而无需您不想要的 header 。

否则,如果您要调用的服务数量有限,也许可以在请求拦截器中将它们列入白名单?这可能会更容易,但不是很优雅。

关于即使 CORS 不允许 header 值,Angularjs 也会继续进行服务器调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495068/

相关文章:

javascript - Angularjs limitTo 在 ng-repeat 中不起作用

HTTP:哪个更好:长时间超时还是多次重试?

javascript - Cookie 不随 CORS Web 请求一起发送

http - 如何从 shell 脚本中使用 pastebin?

ajax - 如何在本地开发人员环境中模拟 aws cloudfront 多个来源

google-drive-api - https ://www. googleapis.com/upload/drive/v2/files 真的支持 CORS 吗?

javascript - AngularJS .length 返回 TypeError

javascript - 如何在Leaflet ImageOverlay中使用base64字符串而不是URL

angularjs - Angular : how to express condition in ng-if directive?

ruby-on-rails - 使用正则表达式获取链接