2012-06-12 119 views
0

因爲我的標題太短,我會解釋的更清晰。我用JavaScript創建了一個代碼。我有兩個選項來運行:Javascript:在機器和本地服務器上運行時的不同行爲

1)在機器上運行:簡單點擊進入html文件。

2)在本地服務器上運行:意味着我啓動Apache,並在localhost中啓動這個html文件。

http://localhost:85/Javascript/index.html例如)

當我選擇的解決方案1,沒有事情發生。當我選擇解決方案2時,就會按我的意願進行。但我不知道爲什麼。

這是我的代碼。目的:獲取一個json文件並對其進行處理。

<script> 
     window.onload = function(){ 
      var url = "http://localhost:85/javascript/json1.json"; // problem here 
      var request = new XMLHttpRequest(); 
      request.open("GET", url); 
      request.onload = function(){ 
       if (request.status == 200){ 
        update(request.responseText); 
       } 
      } 
      request.send(null); 
     }; 
function update(responseText){ // some code here } 
</script> 
+1

[Origin-null不允許被訪問控制 - 允許來源]可能的重複(http://stackoverflow.com/questions/8456538/origin-null-is-not-allowed-by-access-control-允許來源) – Quentin

回答

3

您不能使用AJAX從不同的域讀取內容。

Javascript正在運行file://whatever無法讀取localhost:85

2

您是否將此行替換爲服務器的原始路徑?

var url = "http://localhost:85/javascript/json1.json"; 

隨着

var url = "http://10.0.0.X:85/javascript/json1.json"; // Did you change the right path? 

並確保,頁面不叫與file://協議!

相關問題