2011-11-26 78 views
0

我想说的第一件事是我在相当一段时间里四处寻找答案,但是我发现的一切都是关于jQuery。这不是关于jQuery的。Access-Control-Allow-Origin(Synchronous,no jQuery)不允许原始位置为null

我有一些代码(下面),但是当我在Firefox中运行它时,Firebug给了我这个大而难以理解的例外。我在谷歌浏览器中尝试了它,并得到了一些更有用的信息:“XMLHttpRequest无法加载http://www.wikipedia.org/。Access-Control-Allow-Origin不允许原始空值。 (如果你想知道为什么我试图访问维基百科,我经常用它作为一个试验场) 这里是我的代码:

function requestSite(url) { 
    var xmlhttp; 
    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.open("GET", url, false); 
    xmlhttp.send(); 
    return xmlhttp; 
} 

所有我试图用它做的是访问维基百科。然后谷歌,这给了我相同的结果。也许值得注意的是,当我用页面上的一个按钮触发该功能时,它给了我这个,而使用控制台是完全一样的,但没有错误信息。另一件值得一提的事情是我从本地文件系统运行这个文件。

+0

https://developer.mozilla.org/zh/Same_origin_policy_for_JavaScript – RightSaidFred

回答

1

您无法向位于不同域中的URL发出AJAX请求。这是一个基本的浏览器安全问题。

1

此错误消息表示

“您正在从本地系统运行此请求”。

除了正在运行代码的其他域之外,还有一些其他域的请求(当然)是不允许的。

相关问题