ajax - 当 ajax 目标为 localhost 时,IE 10 和 11 中的访问被拒绝

标签 ajax xmlhttprequest cors internet-explorer-10 internet-explorer-11

我正在尝试在互联网上的服务器(http)之间进行ajax调用。并将其定位到我自己的本地主机。 FF/Chrome/ETC...有效。这只是一个 IE 问题。即时通讯使用 IE 11 和 10。

请求甚至没有完成。立即抛出“拒绝访问”。

这是代码。仅供您查看。

这不是 IE8 和 IE9 中典型的 HTTP/HTTPS 错误。这是别的东西,但文档没有帮助。

$jq.ajax({
            contentType: 'application/json',
            url: url,
            dataType: 'json',
            crossDomain: true,
            beforeSend: function (xhr) {
                xhr.withCredentials = true; 
                xhr.setRequestHeader("Authorization", "Basic " + $jq.base64.encode(username and password));
            },
            success: function (data, status, headers) {},
            error: function (xhr, status, error) {}

xhr 对象中的状态为 0,错误为“拒绝访问”

最佳答案

Internet Explorer 引发此错误是其安全区域功能的一部分。使用默认安全设置,尝试从“Internet”区域中的源访问“本地 Intranet”区域中的资源时,会出现“访问被拒绝”错误。

如果您手动编写 Ajax 代码,则当您尝试打开资源时,Internet Explorer 将引发错误。例如:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost/', true); // This line will trigger an error
xhr.send();

您可以通过将源站点添加到“受信任的站点”安全区域来解决此错误。您可以通过将“http://client.cors-api.appspot.com”添加到“受信任的站点”区域并使用此测试页面 test-cors.org 来对此进行测试。将您的本地主机站点作为远程 URL。

关于ajax - 当 ajax 目标为 localhost 时,IE 10 和 11 中的访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098259/

相关文章:

ajax - IIS 7.5 上的 Asp .Net MVC4 网站在 ajax 错误响应中收到 HTTP 404 错误

jquery - Nodejs 和 Expressjs 发送 ajax post 请求

javascript - 如何更改 .done(function(data) 下的响应?

重新审视 GWT-RPC 和臭名昭著的零星 "StatusCodeException: 0"异常

javascript - XHR.send(文件+参数)?

javascript - 客户端缺少 "Access-Control-Allow-Origin" header 的解决方案

javascript - 无法将 FormData POST 到 Google 表格,希望限制受邀编辑电子表格的人员的访问权限

javascript - jQuery Mobile 加载微调器无法在移动设备上运行

javascript - FabricJS ReactJS CORS 错误

从本地主机访问 mapbox 时出现 cors 问题