非同步JSON 載入
使用jQuery 的$.getJSON 方法載入本機JSON 檔案有時會導致在嘗試存取載入的本機JSON 檔案時出現意外行為數據。發生這種情況是因為 $.getJSON 非同步執行,這意味著存取資料的後續程式碼可能會在 JSON 檔案完全載入之前執行。
在提供的範例中:
var json = $.getJSON("test.json"); var data = eval("(" + json.responseText + ")"); document.write(data["a"]);
eval 行失敗 karena json.responseText 仍然未定義,因為 JSON 檔案尚未載入。
要解決此問題,應使用回調函數非同步處理$.getJSON:
$.getJSON("test.json", function(json) { console.log(json); // Access the loaded data within this callback });
透過實現這種非同步方法,存取JSON 資料的程式碼將僅在資料之後執行已完全加載,確保資料已定義且可存取。
以上是使用 jQuery 的 $.getJSON() 非同步載入 JSON 資料時如何避免錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!