我没有使用jquery,只是vanilla javascript。我的网站托管在一个域名上,让我们说它是example.com
运行以下代码时:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.example2.com', true);
我收到错误:
SCRIPT5:访问被拒绝
此代码在其他浏览器(chrome,safari)中运行良好。
此外,在我的网站上运行时,这似乎只会破坏。当我从IE 11控制台运行那段剪辑的代码时,在网络上的其他网站上,不会发生错误。
我是否需要在托管脚本的网站上设置任何特定标头?或者在加载脚本的网站上?
答案 0 :(得分:3)
想出原因,这很奇怪,并且因为网站上有一些糟糕的遗留代码!
此元标记存在于标题中:
<meta http-equiv="X-UA-Compatible" content="IE=9" />
这告诉IE以IE9身份运行,IE9有不同的机制来进行跨域请求。
答案 1 :(得分:1)
我可以按如下方式使用XMLHttpRequest:
var req = new XMLHttpRequest();
req.open('GET', 'http://home.arcor.de/martin.honnen/cdtest/test2011060701.xml', false);
req.send();
var xml = new XMLSerializer().serializeToString(req.responseXML);
console.log(xml);
&#13;
服务器上的目录配置为允许来自其他来源的任何请求,发送Access-Control-Allow-Origin:*
响应标头。
我在Windows 8.1上使用Firefox,Chrome和IE进行了测试。
答案 2 :(得分:0)
似乎我遇到了这个问题,因为错误的网址图片,但它们在Chrome中显示得很好,但不是IE。 例如:
http:////www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
会在Google Chrome中显示(请复制并粘贴),但不会显示在我的IE中。
原因:上面的URL实际上不仅包含两个斜杠。嘿,我的网址上有拼写错误!试试吧!