Eri*_*c L 46 javascript xmlhttprequest internet-explorer-9
var xhttp=new XMLHttpRequest();
xhttp.open('GET', 'foo.xml', false);
Run Code Online (Sandbox Code Playgroud)
F12弹出:SCRIPT5:访问被拒绝.在第95行,这是xhttp.open行.
我的JavaScript似乎格式正确,Firefox做了我认为应该做的事情.
我已经阅读了很多与此非常类似的问题,所以我查看了同源策略,但我看不出它是如何应用的,因为foo.xml与html文件位于同一目录中.我在我的本地Intranet上打开了脚本权限,并告诉迈克菲休息五分钟,这是肯定的.我甚至试过以管理员身份运行IE,所以这不是真正的权限问题吗?为什么IE会被拒绝访问本地文件?
小智 5
此示例说明如何使用AJAX从任何网站提取资源.它适用于各种浏览器.我已经在IE8-IE10,safari,chrome,firefox,opera上测试过它.
if (window.XDomainRequest) xmlhttp = new XDomainRequest();
else if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET", "http://api.hostip.info/get_html.php", false);
xmlhttp.send();
hostipInfo = xmlhttp.responseText.split("\n");
var IP = false;
for (i = 0; hostipInfo.length >= i; i++) {
if (hostipInfo[i]) {
ipAddress = hostipInfo[i].split(":");
if (ipAddress[0] == "IP") {
IP = ipAddress[1];
}
}
}
return IP;
Run Code Online (Sandbox Code Playgroud)
我认为问题在于该文件位于您的本地计算机上,而 IE 拒绝访问,因为如果它允许脚本访问运行浏览器的计算机上的文件,那将是一个巨大的安全漏洞。
如果您有权访问服务器或另一个可以用作服务器的组件,也许您可以尝试将文件放在上面,然后像从网站一样运行脚本。
| 归档时间: |
|
| 查看次数: |
115606 次 |
| 最近记录: |