我的$ .getJSON()脚本不起作用

时间:2014-08-12 15:04:41

标签: javascript jquery ajax json instagram

我刚刚开始使用这个JSON / AJAX,我很难搞清楚为什么这不起作用...... 我在很多地方搜索过,但没有提供有关如何使用$ .getJSON的详细说明。你能帮帮我吗?你可以提供一些信息,为什么我的脚本不起作用?!我认为这是因为i, itemdata.response[i],但我无法找到所需内容..

var url = "https://api.instagram.com/v1/users/3/media/recent/?access_token=18360510.5b9e1e6.de870cc4d5344ffeaae178542029e98b";

$.getJSON(url, function(data) 
{
    $.each(data.response, function (i, item) 
    {
        instagram += '<li>';
        instagram += '<a href="'+ data.response[i].link +'" target="_blank">';
        instagram += '<div class="imag3" style="background-image: url('+ data.response[i].images.low_resolution.url +');">';
        instagram += '</div></a>';
        instagram += '</li>';

        $('#instagram-cont').html(instagram);
    });

更新

正如我所建议的那样console.log(data) 在控制台中,它给了我一个内部Object的{​​{1}}下拉列表 所以我更新了我的代码:

data: Array[15]

它有效!!! 感谢大家的帮助

5 个答案:

答案 0 :(得分:1)

您可能需要使用JSONP而不是常规的AJAX调用。

http://www.sitepoint.com/jsonp-examples/

答案 1 :(得分:1)

这是一个工作小提琴:http://jsfiddle.net/76bew4vk/

console.log是你的朋友。用它来查看返回数据的结构。我也改变了对jsonp的调用。

    var url = "https://api.instagram.com/v1/users/3/media/recent/?access_token=18360510.5b9e1e6.de870cc4d5344ffeaae178542029e98b";

$.ajax({
    type: 'GET',
    url: url,
    contentType: "application/json",
    dataType: 'jsonp'
})
.done(function(data){
    //console.log(data);
    $.each(data.data, function (i, item) 
    {
        instagram = '<li>';
        instagram += '<a href="'+ item.link +'" target="_blank">';
        instagram += '<div class="imag3" style="background-image: url('+item.images.low_resolution.url +');">';
        instagram += '</div></a>';
        instagram += '</li>';

        $('#instagram-cont').append(instagram);
    });
});

答案 2 :(得分:0)

首先你应该使用&#34;项目&#34;在每个&#39;函数而不是data.response [i] 其次,我认为你想使用改变每个循环之外的html

答案 3 :(得分:0)

返回的JSON数据流不包含属性“data.response

将此作为参数$.each(data.response, ....引用将导致data.response[i].link

中的长度错误

查看返回的JSON数据的结构并正确处理异常。

答案 4 :(得分:0)

根据评论中的建议,我使用了console.log(data) 在控制台中,它给了我一个内部Object的{​​{1}}下拉列表 所以我更新了我的代码:

data: Array[15]

它有效!!! 感谢大家的帮助