在下面的代碼片段中,我從java Servlet接收一個JSON對象并訪問該對象的屬性。JSON 對象:{ "redirect": "/index.html", "logout": "/_cloudshellProxy/_ah/logout?continue\u003d%2Findex.html", "status": true, "register": true, "user": { "email": "s@example.com", "username": "Yevesky", "college": { "name": "Lafayette College", "key": "aglzcHN0ZWFtMTlyFAsSB0NvbGxlZ2UYgICAgICAswgM" }, "key": "aglzcHN0ZWFtMTlyEQsSBFVzZXIYgICAgICgxAgM" }}以下是我如何處理來自 servlet 的對象。fetch("/getUserInfo").then(response => response.json()).then(object => { jsonObject = object; console.log(jsonObject); setUpUserPage(jsonObject); loadClasses(); }); function setUpUserPage(json){ const jsonData = json; var name = document.createElement("h3"); name.innerText = String(jsonData.username); var uni = document.createElement("h6"); uni.innerText = String(jsonData.college.name); // Error occurs here var classification = document.createElement("h6"); console.log(jsonData.classes); if (jsonData?.isProf) { classification.innerText = "Professor"; } else { classification.innerText = "Student"; } var email = document.createElement("h6"); email.innerText = String(jsonData.email); var spacer = document.createElement("BR"); //change nickname link var changeNicknameP = document.createElement("p"); changeNicknameP.innerText = "Change your nickname: "; var anchor = document.createElement("A"); var link = document.createTextNode("here"); anchor.setAttribute("href", "#"); anchor.appendChild(link); changeNicknameP.appendChild(anchor);}問題是我不明白為什么我會得到一個“TypeError:無法讀取未定義的屬性'名稱'”,如果對象有這樣的屬性?它只是JavaScript還是我沒有遵循一個過程。我每次都會在控制臺上打印JSON對象,以查看該屬性是否確實存在。
如何修復 JavaScript 中未定義的 TypeError?對象的所有字段都存在
BIG陽
2022-08-18 10:06:36