2011-11-26 34 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

此錯誤消息表示

「您正在從本地系統運行此請求」。

除了正在運行代碼的其他域之外,還有一些其他域的請求(當然)是不允許的。

相關問題