Jquery从数据对象获取链接值

时间:2013-07-21 17:50:01

标签: jquery ajax json getjson

我不能为我的生活弄清楚如何访问这个对象里面的值。任何帮助都会有很大帮助

结束目标,一旦我可以访问链接,我将迭代每个并在image-header元素之后附加和img标记到dom。

JS使用json

$("#stack_name").focusout(function() {
  var name = $(this).val();
  // alert(name);

  $.getJSON('/images.json?name='+ name, function(data) {
    console.log("DATA: ", data);
    // $('<p>Test</p>').appendTo('.images-header');
  });
});

控制台日志输出:

DATA:  
Object {data: Object}
data: Object
images: Array[4]
0: "http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Connecticut_in_United_States.svg/270px-Connecticut_in_United_States.svg.png"
1: "http://www.enchantedlearning.com/usa/states/connecticut/map.GIF"
2: "https://familysearch.org/learn/wiki/en/images/0/01/Connecticut-county-map.gif"
3: "http://www.ct.gov/ecd/lib/ecd/20/14/state%2520of%2520connecticut%2520county%2520outline.jpg"
length: 4
__proto__: Array[0]
__proto__: Object
__proto__: Object
 app-init.js?body=1:15

enter image description here

/images.json?name=connecticut

{
"data": {
"images": [
"http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Connecticut_in_United_States.svg/270px-Connecticut_in_United_States.svg.png",
"http://www.enchantedlearning.com/usa/states/connecticut/map.GIF",
"https://familysearch.org/learn/wiki/en/images/0/01/Connecticut-county-map.gif",
"http://www.ct.gov/ecd/lib/ecd/20/14/state%2520of%2520connecticut%2520county%2520outline.jpg"
]
}
}

2 个答案:

答案 0 :(得分:1)

您可以像这样访问图像数组,您必须使用$.parseJSON解析json字符串

img1 = jsonObj.data.Images[0];

<强> Live Demo

您可以使用for循环

迭代数组
for(i=0; i < jsonObj.data.images.length; i++)
{
    alert(jsonObj.data.images[i]);
}

答案 1 :(得分:0)

尝试

Fiddle Demo

$("#stack_name").focusout(function() 
{
  var name = $(this).val();

  $.getJSON('/images.json?name='+ name, function(data) 
  {
    var images = data.data.images;
    var $header = $('.images-header');

    for(var index in images )
    {
      var $image = $('<img><img/>'); 
      var link = images[index];

      $image.attr("src", link);
      $header.append($image);
    }

  });
});