1 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
首先,我不確定為什么
document.getElementById("demo").innerHTML = vernacularName;
位于其自己的script標簽內(nèi)。這看起來很奇怪。
無論如何,這里的問題是數(shù)據(jù)還沒有準備好。在數(shù)據(jù)返回給您之前,您無法開始處理數(shù)據(jù)并使用它來更新頁面上的元素。
這就是第二個參數(shù)的全部要點- 它是在獲取數(shù)據(jù)后getJSON成功調(diào)用的函數(shù)。
因此,其余代碼應該全部放在該函數(shù)內(nèi):
? $.getJSON("json/data.json", function(json) {
? ? const data = json;
? ? const record = data.filter(r => r.datasetID === datasetID);
? ? const vernacularName = record[0].vernacularName;
? ? $_SESSION["v"] = vernacularName;
? ? document.getElementById("demo").innerHTML = vernacularName;
? });
旁注:var
既然您似乎正在使用 ES6+,那么除非您有充分的理由,否則您不應該使用。let
代替使用。
添加回答
舉報