Javascript 使用API请求将多个随机JSON数据输出到屏幕
使用下面的代码,我能够从jsonplaceholder.com检索用户名 我可以使用console.log查看ALL用户名,我无法在屏幕上输出ALL这些项目 输出仅为一个数组项。 使用Javascript 使用API请求将多个随机JSON数据输出到屏幕,javascript,arrays,json,api,Javascript,Arrays,Json,Api,使用下面的代码,我能够从jsonplaceholder.com检索用户名 我可以使用console.log查看ALL用户名,我无法在屏幕上输出ALL这些项目 输出仅为一个数组项。 使用用户名[0],用户名[1]输出相同的项目?! 使用userName[0].textContent=info[1]输出用户名的第一个字母 谢谢你的帮助 谢谢大家! (函数(){ //设置api地址 const usersJSON=”https://jsonplaceholder.typicode.com/users
用户名[0],用户名[1]
输出相同的项目?!
使用userName[0].textContent=info[1]代码>输出用户名的第一个字母
谢谢你的帮助
谢谢大家!
(函数(){
//设置api地址
const usersJSON=”https://jsonplaceholder.typicode.com/users";
const commentsJSON=”https://jsonplaceholder.typicode.com/comments";
//用户功能//
//生命-获取、解析、捕获
(函数getData(){
//获取数据
获取(usersJSON)
.然后(功能(响应){
返回response.json();
})
//解析为json
.then(功能(数据){
//用户名
for(设i=0;i })();代码>您可能要做的第一件事是使用ID,并使用getElementById
获取项目,然后可以删除循环以使函数更简单(除非您有多个要附加名称的类)
您的问题是您正在使用=
,这会覆盖以前设置的文本/数据,这就是您看到一个项目的原因。您将从数组中添加第一个项,然后在下一个循环迭代中用数组中的下一个项替换它
这里有两种不同的解决方案来解决您的问题:
使用+=
附加数据而不是覆盖数据:
function displayName(info) {
const userName = document.getElementById("users");
userName.innerHTML += '<p>' + info + '</p>';
}
function displayName(info) {
const userName = document.getElementById("users")
const p = document.createElement('p')
p.textContent = info
userName.appendChild(p)
}
(函数(){
//设置api地址
const usersJSON=”https://jsonplaceholder.typicode.com/users";
const commentsJSON=”https://jsonplaceholder.typicode.com/comments";
//用户功能//
//生命-获取、解析、捕获
(函数getData(){
//获取数据
获取(usersJSON)
.然后(功能(响应){
返回response.json();
})
//解析为json
.then(功能(数据){
//用户名
for(设i=0;i';
}
})();
})();代码>
您多次调用displayName
,每次都传递一个随机用户名displayName
依次将该名称放入前两个.userName
元素中,因此无论姓氏是什么,都会显示在这两个元素中。你想要这个吗?将号码替换为i
:用户名[0]。textContent
,然后删除第二个呼叫。还可以使用+=
或在数据中添加新元素。使用=
您正在覆盖上一个呼叫。@ChrisG-这就是发生的情况,而不是我想要的。我有5张卡片,每张都需要自己的名字——来自jsonplaceholder。完美的回答!谢谢你急需的帮助!