在 IE9 中使用 axios get 时,我的访问被拒绝。有什么解决方法吗?
Q
[axios]IE9 上的访问被拒绝错误
8
A
回答
5
您能提供更多信息吗?完整的错误消息、堆栈跟踪等。此外,您是否向与源不同的 URI 发出请求(www.example.com -> www.anothersite.net)?
2
这是错误描述:{
描述:“访问被拒绝。”,消息:“访问被拒绝。”,名称:“错误”,编号:-2147024891 }
它是从request.open
xhr.js 中抛出的。是的,我正在从 .net 向 .com 发出请求
5
您确定您的服务器设置正确吗?浏览器使用 request 方法发出预检请求OPTIONS
来验证访问。服务器应使用以下标头响应此请求:
Access-Control-Allow-Origin: www.example.com
Access-Control-Allow-Credentials: true
这将允许从 www.example.com 到您的服务器的跨源请求。您还可以使用 允许来自所有来源的访问Access-Control-Allow-Origin: *
。
7
终于我成功了。 IE9 有几个问题 1) 我遇到了上述访问被拒绝的错误,因为在本地我指向的 Api 具有 https://。但本地是http。在 IE9 中,它应该是 http 到 http 或 https 到 https。因此更改本地代码以指向http。 2) IE9中的XDomainRequest不支持自定义标头。删除自定义标头后,至少我的 api 调用可以正常工作。 3)修复第一个和第二个之后,我收到了 Promise 拒绝。调试后我发现在xhr.js文件中onLoad()response.resonseText未定义。响应文本作为请求的一部分。所以我确实发送了拉取请求来解决这个问题。
5
真高兴你做到了。我会看看你的 PR。
7
@ruchigoyal2005 您如何在 IE9 中为 XDomainRequest 发送自定义标头?