通过 jQuery 在 Instagram JSON 中获取未定义的变量
Getting undefined variable in Instagram JSON feed via jQuery
我正在尝试使用 JSON 和 jQuery 从 Instagram 获取一个提要,以从一个特定用户那里提取特定的主题标签图像 - 到目前为止它已经很疯狂了,而且都是从头开始构建的..现在我卡住了 - 我的循环一直在说 Undefined x
这是我的代码
// GET INSTAGRAM FEED
// Get feed from Instagram based on Hashtag and filter by user
//
var username = 'jdsportsofficial';
var hashtag = 'crlifestyle';
var clientId = '5a79ddf3fa4147ffbea3fc0e38b22014';
var auth_token = ''; // not needed for most
var instaHTML;
var divId = '#instafeed';
jQuery.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/"+hashtag+"/media/recent?client_id="+clientId,
success: function(x) {
for (var i = 0; i < 25; i++) {
// GET THE PICTURE
// -- options are thumbnail and large - see object for more
var instaPicture = x.data[i].images.thumbnail.url;
if (x.data[i].user.username == username) {
instaHTML += "<div class='CaroselSlideItem'><img src='" + instaPicture + "'/></div>";
}
// INSERT THE GALLERY
jQuery(divId).html(instaHTML);
}
}
});
你可以通过jQuery('body').html(instaHTML);
来控制它
我的错误是
TypeError: x.data[i]
未定义 var instaPicture = x.data[i].images.thumbnail.url;
中的第 707 行
如果 x.data
的结果少于 25 个,则可能会出现错误。假设 x.data
只有 20 个结果,那么当循环到达 i=20
时,x.data[i]
将是未定义的。
所以
jQuery.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/" + hashtag + "/media/recent?client_id=" + clientId,
success: function (x) {
for (var i = 0; i < x.data.length && i < 25; i++) {
// GET THE PICTURE
// -- options are thumbnail and large - see object for more
var instaPicture = x.data[i].images.thumbnail.url;
if (x.data[i].user.username == username) {
instaHTML += "<div class='CaroselSlideItem'><img src='" + instaPicture + "'/></div>";
}
// INSERT THE GALLERY
jQuery(divId).html(instaHTML);
}
}
});
我正在尝试使用 JSON 和 jQuery 从 Instagram 获取一个提要,以从一个特定用户那里提取特定的主题标签图像 - 到目前为止它已经很疯狂了,而且都是从头开始构建的..现在我卡住了 - 我的循环一直在说 Undefined x
这是我的代码
// GET INSTAGRAM FEED
// Get feed from Instagram based on Hashtag and filter by user
//
var username = 'jdsportsofficial';
var hashtag = 'crlifestyle';
var clientId = '5a79ddf3fa4147ffbea3fc0e38b22014';
var auth_token = ''; // not needed for most
var instaHTML;
var divId = '#instafeed';
jQuery.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/"+hashtag+"/media/recent?client_id="+clientId,
success: function(x) {
for (var i = 0; i < 25; i++) {
// GET THE PICTURE
// -- options are thumbnail and large - see object for more
var instaPicture = x.data[i].images.thumbnail.url;
if (x.data[i].user.username == username) {
instaHTML += "<div class='CaroselSlideItem'><img src='" + instaPicture + "'/></div>";
}
// INSERT THE GALLERY
jQuery(divId).html(instaHTML);
}
}
});
你可以通过jQuery('body').html(instaHTML);
我的错误是
TypeError: x.data[i]
未定义 var instaPicture = x.data[i].images.thumbnail.url;
如果 x.data
的结果少于 25 个,则可能会出现错误。假设 x.data
只有 20 个结果,那么当循环到达 i=20
时,x.data[i]
将是未定义的。
所以
jQuery.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: "https://api.instagram.com/v1/tags/" + hashtag + "/media/recent?client_id=" + clientId,
success: function (x) {
for (var i = 0; i < x.data.length && i < 25; i++) {
// GET THE PICTURE
// -- options are thumbnail and large - see object for more
var instaPicture = x.data[i].images.thumbnail.url;
if (x.data[i].user.username == username) {
instaHTML += "<div class='CaroselSlideItem'><img src='" + instaPicture + "'/></div>";
}
// INSERT THE GALLERY
jQuery(divId).html(instaHTML);
}
}
});