2014-02-25 40 views
0
<!DOCTYPE html> 
<html> 
    <head> 
    <title>test</title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script> 
    </head> 
    <body> 
    <div id="div1">dv1</div> 
    <div id="div2">dv2</div> 


    <script type="text/javascript"> 
    function getData(){ 
     $.ajax({ 
      type:"GET", 
      url:"j.json", 
      dataType:"json", 
      success: function(jsondata){ 
       output(jsondata);    
      } 
     }); 
    } 

    function output(json){ 

     //var Data = eval('(' + json + ')'); 
     var html = ''; 
     //alert(Data.length); 
     for(var i=0;i<json.length;i++){ 
      html += ' name:' + json[i].name + ' age:' + json[i].age; 
     } 

     document.getElementById('div1').innerHTML = html; 
     document.getElementById('div2').innerHTML = json[0].name; 
    } 

    setTimeout(getData, 3000);  

    </script> 

    </body> 
</html> 

j.json文件是我的jquery腳本只適用於Firefox,爲什麼?

[{"name":"aaa","age":18},{"name":"bbb","age":19}] 

的上述代碼的目的是更新與在本地JSON文件數據格的內容。我試過在IE瀏覽器&鉻,但都沒有工作。我GOOGLE了很多,但仍然無法弄清楚。

任何人有任何提示?提前致謝。

+2

你試過檢查在Chrome的開發者工具,AJAX調用? – Ignas

+0

它說:「加載資源失敗:沒有'Access-Control-Allow-Origin'標題出現在請求的資源上,因此不允許Origin'null'訪問。 &「XMLHttpRequest無法加載file:/// C:/Users/austin/Documents/work/j.json。所請求的資源中沒有'Access-Control-Allow-Origin'標頭,因此Origin'null'不是允許訪問。「 – AustintheCleric

回答

3

你使用網絡服務器嗎?

AJAX調用不適用於從file://開始的URL。這是由於爲幫助處理跨站點腳本(XSS)而制定的同源要求。有關更多詳細信息,請參閱here

而且我注意到,你應該使用$(document).ready(function(){ your code })代替setTimeout(getData, 3000);

+0

那麼如何處理本地文件呢? – AustintheCleric

+0

安裝一個網絡服務器:) – petkopalko

+0

@奧斯汀,我敢肯定你不能用本地文件做到這一點。 – halfer

相關問題