【发布时间】:2020-09-03 18:38:09
【问题描述】:
我正在学习 javascript 课程,任务是从 JSONPLACEHOLDER 获取 JSON 数据并显示用户名。通过单击他们的姓名,应显示有关用户的完整数据。
JS代码:
const ul = document.querySelector(".list-group");
const h1 = document.querySelector("h1");
function getUsers(renderUsers) {
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/users");
xhr.addEventListener("load", () => {
const response = JSON.parse(xhr.responseText);
renderUsers(response);
});
xhr.addEventListener("error", () => {
console.log("error");
});
xhr.send();
}
function renderUsers(response) {
const fragment = document.createDocumentFragment();
response.forEach((user) => {
const li = document.createElement("li");
li.classList.add("list-group-item");
li.textContent = user.name;
li.addEventListener("click", (e) => {
h1.innerHTML = `<h3>Email: ${user.email} <br>
Username: ${user.username} <br></h3>
Address: <h5>${user.address["street"]}, ${user.address["city"]}, ${user.address["zipcode"]}</h5>
</h3>Phone: ${user.phone}
</h3>`;
});
fragment.appendChild(li);
});
ul.appendChild(fragment);
}
getUsers(renderUsers);
所以,我不知道为什么会显示信息。毕竟,这没有保存在任何地方,或者我不明白。 请告诉我点击信息的逻辑是从哪里来的?
【问题讨论】:
标签: javascript json xmlhttprequest