即使 CORS 不允许标头值,Angularjs 也会继续进行服务器调用
Posted
技术标签:
【中文标题】即使 CORS 不允许标头值,Angularjs 也会继续进行服务器调用【英文标题】:Angularjs proceed with server call even if CORS does not allow a header value 【发布时间】:2015-06-12 06:07:35 【问题描述】:我有一个 AngularJS 应用程序,它与各种 java 服务通信。在应用程序中,我在 http 拦截器中有一个全局 http 标头设置。这意味着来自我的应用程序的所有服务请求都将获取标头值。
现在的问题是所有服务 CORS 设置都不允许使用此标头值。有几个服务可以,而其他服务没有。对不支持标头的服务器的服务调用失败,因为 http 拦截器总是放置标头值。
在上述情况下,是否有更好的设计方法以避免上述问题?
感谢任何帮助...
【问题讨论】:
【参考方案1】:如何添加响应拦截器,寻找 401 状态?如果您收到 401,请尝试在没有标头的情况下再次执行相同的请求。如果此操作成功,请将此域“列入白名单”以发出所有后续请求,但不包含您不想要的标头。
否则,如果您要调用的服务数量有限,是否可以在请求拦截器中将它们列入白名单?这可能会更容易,但不是很优雅。
【讨论】:
以上是关于即使 CORS 不允许标头值,Angularjs 也会继续进行服务器调用的主要内容,如果未能解决你的问题,请参考以下文章