【发布时间】:2017-06-16 01:03:02
【问题描述】:
我是第一次修改 JSON 数据。我在网上找到的一些示例似乎非常复杂,我无法简化它以便我可以理解该文件。我决定制作一个使用 JSON 数据填充的博客网站。所有文件都在 HTML 文件之外。 JS 文件已正确链接。 JS 文件位于根目录下的 js 文件夹中。 index.html 和 blogs.json 在根目录下。
这是 HTML:
<div class="blog_list"> <!-- Div to hold populated blogs -->
<!-- Blog Start -->
<div class="blog_post">
<div class="blog_panel">
<img class="blog_image" src="" alt="">
<div class="blog_panel_body">
<h2 class="blog_title"></h2>
<span class="blog_author_date"></span>
<p class="blog_content">
</p>
</div>
</div>
</div>
<!-- Blog End -->
</div>
这是外部 JSON 数据:
{
"blogs": [
{
"img": "<img class=\"image\" src=\"img/image.jpeg\" alt=\"Sample image 1\" />",
"title": "My Amazing Journey",
"author": "David",
"date": "June 13, 2017",
"content": "This is some content."
},
{
"img": "<img src=\"img/image.jpeg\" alt=\"Sample image 2\" />",
"title": "My Beautiful Journey",
"author": "David",
"date": "June 14, 2017",
"content": "This is some content."
},
{
"img": "<img src=\"img/image.jpeg\" alt=\"Sample image 3\" />",
"title": "My Wonderful Journey",
"author": "David",
"date": "June 15, 2017",
"content": "This is some content."
}]
}
这是我的外部 JS 文件:
$("document").ready(function () {
$.getJSON("./blogs.json"), function(json) {
json.blogs.forEach(function(blog) {
var newBlog = $('body').find(".blog_post").clone();
$(newBlog).find(".blog_image").html(blog.img);
$(newBlog).find(".blog_title").append(blog.title);
$(newBlog).find(".blog_author_date").append("Written by: " + blog.author + " on " + blog.date);
$(newBlog).find(".blog_content").append(blog.content);
});
};
});
控制台显示错误:
XML Parsing Error: not well-formed Location: file:///Users/David/Site/Website%20Template/blogs.json Line Number 1, Column 1: blogs.json:1:1
我在正确的轨道上吗?任何意见和建议将不胜感激。
【问题讨论】:
-
从你的
blogs.json文件中删除json =,它应该可以工作 -
这确实修复了语法错误。现在控制台显示: XML Parsing Error: not well-formed Location: file:///Users/David/Sites/Website%20Template/blogs.json Line Number 1, Column 1: blogs.json:1:1
-
我认为您需要配置网络服务器的
mime.types文件,以便它为.json扩展返回 MIME 类型application/json。 -
@Barmar 我将设置 Web 服务器来尝试。我在 mac 上从 finder 运行。
-
我不确定 finder 是什么,但你试过在 Firefox 中运行它吗? stackoverflow.com/questions/21507816/…