javascript - 获取返回的迭代值放入标签
问题描述
我正在尝试遍历从 API json 对象获得的一些数据并将其放入标签中。问题是当我将它放入标签或使用console.log(text)
它时,它会将所有附加数据打印成一行而不是结果。
基本样本 - 我现在得到的:
data1
data1,data2
data1,data2,data2
我在找什么:
data1
data2
data3
这是代码:
const url = "https://alloysystems.freshdesk.com/api/v2/tickets";
fetch(url, {
method: "GET",
withCredentials: true,
headers: {
// needed to base64 encode my key with ":x" at the end of the api key then I used that for the authorization header.
"authorization": "Basic YOUWILLNEVERGETMYKEYLOL"
}
})
.then(resp => resp.json())
.then(data => {
let text = "";
for (let i = 0; i < data.length; i++) {
const pre = document.createElement('pre');
text += "Subject: " + JSON.stringify(data[i].subject) + "<br>" +
"CC Emails: " + JSON.stringify(data[i].cc_emails).replace("[]", "No Emails are CC'd").replace("[", "").replace("]", "") + "<br>" +
"Ticket Creation Date: " + JSON.stringify(data[i].created_at) + "<br>" +
"Ticket Status: " + JSON.stringify(data[i].status).replace("2", "Open").replace("3", "Pending").replace("4", "Resolved").replace("5", "Closed").replace("6", "Waiting On Customer");
pre.innerText += text
console.log(text)
document.querySelector('span.ms-font-m').appendChild(pre);
}
})
我也尝试过使用这样的返回函数,return text
但这return pre
会导致问题,因为 for 循环会在第一个循环上停止。
任何想法都会很棒。谢谢你。
解决方案
如果每个条目都有自己的<pre>
容器,您可以在循环内创建元素。像这样:
const data = [{'subject':'test1'},{'subject':'test2'}];
const output = document.querySelector('span.ms-font-m');
for (let i = 0; i < data.length; i++) {
let text = "Subject: " + JSON.stringify(data[i].subject) + "<br>";
let pre = document.createElement('pre');
pre.innerHTML = text;
output.appendChild(pre);
}
<span class="ms-font-m"></span>
但是由于您将所有条目连接到一个变量text
中,您只需要创建一个<pre>
元素,您就可以在循环外处理它。在循环之后填充并附加一次。
const data = [{'subject':'test1'},{'subject':'test2'}];
const pre = document.createElement('pre');
let text = "";
for (let i = 0; i < data.length; i++) {
text += "Subject: " + JSON.stringify(data[i].subject) + "<br>";
}
pre.innerHTML = text;
document.querySelector('span.ms-font-m').appendChild(pre);
<span class="ms-font-m"></span>
推荐阅读
- vba - MS Access 使用 ID 将记录保存为 PDF
- mysql - 如何仅从数据库字段中找到数据库设置为使用的 TYPO3 版本?
- java - 只执行最后一个 IF 语句
- javascript - 如何在使用 GET 时使用 FETCH API 并设置非标头变量?
- scala - 为什么 Spark dataset foreach 方法需要显式函数转换,而 map 不需要?
- c# - 如何找到包含程序集的 nuget 包?
- c - 操作系统内存管理,段错误?
- c - 用空结构填充 dat 文件
- javascript - 打印在同一而不是在弹出的新分隔页中
- python - python中的引用标识符