0

不知道为什么这没有加载。任何帮助都会很棒。

//images.json

{  
 "images": [
  {"title": "Image One", "url": "image1.jpg"},
  {"title": "Image Two", "url": "image2.jpg"},
  {"title": "Image Three", "url": "image3.jpg"}
 ]
}

//application.js

function loadImages(url, container) {
    //get the JSON object
    $.getJSON(url, function (data) {
        if (typeof data === 'object') {
            $.each(data['images'], function (key, image) {
                var mylist = '<li><img src="' + image['url'] + '" alt="' + image['title'] + '"></li>';
                $(body).append(mylist);
            });
        }
    });
};


 $(function(){
     loadImages('images.json', '#mylist');
  });

//html

 <ul id="mylist"></ul>
4

4 回答 4

1

它应该是:

$(container).append(mylist);
于 2013-02-26T03:29:02.477 回答
0

你错过了这里的报价:

$(body).append(mylist); 

它应该是:

$('body').append(mylist);
于 2013-02-26T03:31:56.820 回答
0

没有什么像$(body),应该是$('body')。同样在您的情况下,它必须是$(container)

于 2013-02-26T03:32:41.223 回答
0

您需要多一层循环:

$.each(data, function (key, image) {
    $.each(image, function(i,val){
        var mylist = '<li><img src="' + val.url + '" alt="' + val.title + '"></li>';
        $('body').append(mylist);
    })
});

当然,如果你想附加到容器,将 $('body') 更改为 $(container)

于 2013-02-26T03:45:29.990 回答