【发布时间】:2018-08-27 23:40:04
【问题描述】:
我正在尝试:
使用 $.get 获取 JSON 数据
将该数据附加到 HTML 元素 $('photos') 以便使用外部 JSON 文件而不是内联 HTML 显示图像。
我没有收到任何控制台错误,也没有显示图像。任何帮助将不胜感激。非常感谢。我有一个警报来检查 JSON 是否已加载,并且加载正常 - 只是不会更改任何数据。
这是我目前的设置:
(JSON):照片数据.json
{ "photos": {
"1": {
"href": "./photos/photo1.JPG",
"src": "photos/photo1.JPG",
},
"2": {
"href": "./photos/photo2.JPG",
"src": "photos/photo2.JPG",
},
"3": {
"href": "./photos/photo3.JPG",
"src": "photos/photo3.JPG",
},
"4": {
"href": "./photos/photo4.JPG",
"src": "photos/photo4.JPG",
},
"5": {
"href": "./photos/photo5.JPG",
"src": "photos/photo5.JPG",
}}}
jQuery:
$.get("./data/photoData.json", function(photos){
alert("Data Loaded: " + photos);
let htmlStr = "";
for (let i = 0; i < photos.length; i++){
htmlStr += `<figure><a href="${photos[i].href}"><img src = "${photos[i].src}"></img></a></figure>`
}
$('Photos').html(htmlStr);});
【问题讨论】:
-
当
photos实际上是一个对象时,您正在使用photos.length。请改用for..in。 -
是否显示警报语句?
-
$('照片').html(htmlStr);不是有效的选择器 add 。一个类或 # 一个你的 div 的 id
-
你在警告框中得到了什么。你也可能想在回调中使用 JSON.parse(photos) !!!
-
所有现代浏览器都支持模板文字,@FaizKhan。
标签: javascript html json call