【发布时间】:2015-12-26 15:44:04
【问题描述】:
我发现了几个类似的主题。然而,似乎还没有一个工作。
问题
在我们当前的生态系统中,我们为 http-apis 提供了三台服务器。两个用于测试,一个用于生产。
最近我们一直在发布使用 AngularJS 的客户端 Web 应用程序。由于客户端应用程序是为我们的客户服务的,因此与我们的 api 的通信是跨域的。 Web 应用程序在 Chrome、safari 和 firefox 以及所有 api 中都能正常运行。但是,对于第三个 api,Internet Explorer(11) 拒绝发送 preflight(options) 请求,从而禁用客户端与 api 通信。在另外两个 api 中,web 应用在 IE 中运行良好。
API 如下:
https://api.doma.in/accesstoken -- Works in IE11
https://api2.doma.in/accesstoken -- Works in IE11
https://api3.doma.in/accesstoken -- Does not send preflight in IE11.
需要注意的是,这三台服务器或多或少都是克隆的,因此设置不会有太大差异。
但是,我收到的错误消息中的错误如下:
SEC7118: XMLHttpRequest https://api3.doma.in/accesstoken required CORS (Cross Origin Resource Sharing).
SEC7119: XMLHttpRequest https://api3.doma.in/accesstoken required CORS Preflight.
SCRIPT7002: XMLHttpRequest Network error 0x80070005, Access Denied.
在网络日志中,它只显示预检请求被取消,因此没有请求或响应标头。
【问题讨论】:
标签: javascript angularjs internet-explorer ssl internet-explorer-11