[axios]IE9 上的访问被拒绝错误

2024-05-15 567 views
3

在 IE9 中使用 axios get 时,我的访问被拒绝。有什么解决方法吗?

回答

9

您能提供更多信息吗?完整的错误消息、堆栈跟踪等。此外,您是否向与源不同的 URI 发出请求(www.example.com -> www.anothersite.net)?

2

这是错误描述:{

描述:“访问被拒绝。”,消息:“访问被拒绝。”,名称:“错误”,编号:-2147024891 }

它是从request.openxhr.js 中抛出的。是的,我正在从 .net 向 .com 发出请求

8

您确定您的服务器设置正确吗?浏览器使用 request 方法发出预检请求OPTIONS来验证访问。服务器应使用以下标头响应此请求:

Access-Control-Allow-Origin: www.example.com
Access-Control-Allow-Credentials: true

这将允许从 www.example.com 到您的服务器的跨源请求。您还可以使用 允许来自所有来源的访问Access-Control-Allow-Origin: *

3

终于我成功了。 IE9 有几个问题 1) 我遇到了上述访问被拒绝的错误,因为在本地我指向的 Api 具有 https://。但本地是http。在 IE9 中,它应该是 http 到 http 或 https 到 https。因此更改本地代码以指向http。 2) IE9中的XDomainRequest不支持自定义标头。删除自定义标头后,至少我的 api 调用可以正常工作。 3)修复第一个和第二个之后,我收到了 Promise 拒绝。调试后我发现在xhr.js文件中onLoad()response.resonseText未定义。响应文本作为请求的一部分。所以我确实发送了拉取请求来解决这个问题。

3

真高兴你做到了。我会看看你的 PR。

1

@ruchigoyal2005 您如何在 IE9 中为 XDomainRequest 发送自定义标头?