2012-12-14 83 views
1

我的問題很簡單,我有一個名爲new.json的文件,我試圖使用JQuery來加載和顯示數據。我一直在寫JavaScript代碼:

$.getJSON("new.json", function(data){ 
     // I have placed alert here previously and realized it doesn't go into here 
     $.each(data.streetCity, function(i,s){ 
      alert(s); 
     }); 
    }); 
} 

和new.json數據看起來如下:

{"streetCity": 
    { 
     "1":"Abergement-Clemenciat", 
     "2":"Abergement-de-Varey", 
     "3":"Amareins" 
    } 
}; 
+0

確保'new.json'與運行生成ajax請求的JS的文件位於同一目錄中。我很肯定你也不想要'''。 –

+0

如果沒有在本地機器上運行服務器,某些瀏覽器將不會允許Ajax無需調整設置 – charlietfl

+0

如果您使用Chrome,可能會出現重複問題:http://stackoverflow.com/questions/2541949/problems-with-jquery-getjson-使用本地文件在chrome – apsillers

回答

11

如果您使用的是Chrome。由於Chrome不允許xmlhttprequest請求本地文件。因此jQuery的不能加載您new.json

您可以添加

--allow-文件訪問從檔案

Chrome瀏覽器的啓動命令。這可以允許的XMLHttpRequest如果您正在使用jQuery來加載本地資源

+1

我正在做另一個應用程序,並提醒我這個問題。我已經嘗試過,是的,現在正在工作,謝謝。 – yi2ng2

2

1.5+你可以鏈中的錯誤處理程序上調用,看看是怎麼回事:

$.getJSON("new.json", function(data){ 
     // I have placed alert here previously and realized it doesn't go into here 
     $.each(data.streetCity, function(i,s){ 
      alert(s); 
     }); 
    }).error(function(jqXhr, textStatus, error) { 
       alert("ERROR: " + textStatus + ", " + error); 
    }); 

new.json可能是不同的路徑比調用頁面。另外,如果您的代碼片段準確無誤,則不需要腳本中的最後一個大括號或json中的最後一個分號。

1

你的問題是';' (分號)在JSON文件中。 JSON響應不需要分號。刪除你的例子應該工作正常!