2017-08-11 46 views
-1
$(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的饲料API,代码工作正常,但我有错误TypeError: data.data[i].caption is null,饲料文本没有显示所有我得到的只有3形式20 json中的元素。类型错误:data.data [I] .caption是空的Instagram API

data json link

+0

请分享API响应 – brk

+0

检查链接API,我把http://jsoneditoronline.org/?id=17c05e938eeb42d37c330b814432e300 @brk –

回答

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>"); 
    } 
} 
+0

做工精细,谢谢非常 –

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); 
     } 

    } 
相关问题