$(function() {
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/users/self/media/recent/?access_token=",
success: function(data) {
for (var i = 0; i < 20; i++) {
$("#pics").append("<a target='_blank' href='" + data.data[i].link + "'><img src='" + data.data[i].images.low_resolution.url + "'></img></a>");
$("#text").append("<p>"+data.data[i].caption.text+"</p>");
}
}
});
});
我尝试获取Instagram Feed api,代码工作正常,但我有错误TypeError: data.data[i].caption is null
,Feed文本没有显示所有我只在json中获得3个表单20元素。
答案 0 :(得分:1)
如果您查看回复,您会发现它只是表示没有标题(例如,查看数字3)
尝试这样的事情:
for (var i = 0; i < 20; i++) {
$("#pics").append("<a target='_blank' href='" + data.data[i].link + "'><img src='" + data.data[i].images.low_resolution.url + "'></img></a>");
if (data.data[i].caption === null) {
$("#text").append("<p>No caption</p>");
} else {
$("#text").append("<p>"+data.data[i].caption.text+"</p>");
}
}
答案 1 :(得分:0)
原因是某些标题在响应中为data[3]
,data[4]
为空。在检索text
对象
caption
之前执行空检查
for (var i = 0; i < 20; i++) {
if (res.data[i].caption !== null) {
console.log(res.data[i].caption.text);
}
}