【发布时间】:2020-08-03 08:11:27
【问题描述】:
我有以下 javascript
for (var i = 0; i < e.blog.length; i++) {
var id = e.blog[i].id;
var date = e.blog[i].date;
var title = e.blog[i].title;
var image = e.blog[i].image;
var excerpt = e.blog[i].excerpt;
var tags = e.blog[i].tags;
var html =
'img src="' +
image +
'" alt="' +
title +
'image"<h1>' +
title +
"</h1>" +
'<div class="post-details">' +
'<span class="post-date">' +
published +
'<h2 class="post-title">' +
title +
"</h2>" +
'<p class="post-excerpt">' +
excerpt +
"</p>" +
'<div class="post-categories">' +
'<span class="post-tag">' +
tags +
"</span>" +
"</div> </div>";
html = document.getElementById("data").innerHTML = html;
}
});
document.getElementById('data').innerHTML = html
从此 JSON 响应中获取内容
{
... (rest of json file before these dots important bit below)
},
"blog": {
"post-1": {
"id": "1",
"date": "2020.08.01",
"title": "Post Title",
"excerpt": "Post excerpt goes here",
"tags": "Post Tag 1, Post Tag 2",
"body": "Blog body content goes in this field"
},
"post-2": {
"id": "1",
"date": "2020.08.01",
"title": "Post Title",
"excerpt": "Post excerpt goes here",
"tags": "Post Tag 1, Post Tag 2",
"body": "Blog body content goes in this field"
}
}
}
它应该在 div 中显示来自 javascript 的 HTML,id 为data,如下所示
<div id='data'>
</div>
但是它返回以下错误
Unexpected identifier 'I'
我将如何解决这个问题?由于我在 for 循环的开头被指定,它不应该工作吗?
从博客中创建了一个数组,但它所做的只是返回以下错误。错误下面的代码
Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'e.blog[i].id')
JS
const arrBlog = Object.values(e.blog);
console.log(arrBlog);
for (var i = 0; i < arrBlog.length; i++) {
var id = arrBlog[i].id;
var date = arrBlog[i].date;
var title = arrBlog[i].title;
var image = arrBlog[i].image;
var excerpt = arrBlog[i].excerpt;
var tags = arrBlog[i].tags;
var html = `
<div class="post">
<img src="${image}" alt="${title} Image" />
<div class="post-details">
<span class="post-date">${date}</span>
<h2 class="post-title">${title}</h2>
<p class="post-excerpt">${excerpt}</p>
<div class="post-categories">
<span class="post-tag">${tags}</span>
</div>
</div>
</div>
`;
html = document.getElementById("data").innerHTML = html;
【问题讨论】:
标签: javascript html json api fetch