【问题标题】:Jquery get link values from data objectJquery 从数据对象中获取链接值
【发布时间】:2013-07-21 17:50:00
【问题描述】:

我这辈子都不知道如何访问这个对象中的值。任何帮助将不胜感激

最终目标,一旦我可以访问链接,我将遍历每个链接并将 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

/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"
]
}
}

【问题讨论】:

    标签: jquery ajax json getjson


    【解决方案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]);
    }
    

    【讨论】:

    • 感谢您的回复。无法让它工作。我得到“未捕获的 ReferenceError:数据未定义”与第一个和“未捕获的类型错误:无法读取未定义的属性 '0'”
    • 添加了一条正在消耗的前路由
    • @jahrichie,我已经通过现场演示更新了我的答案,希望对您有所帮助。
    【解决方案2】:

    试试

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

    【讨论】:

    • 感谢您的回复,这没有做任何事情或给出任何错误。奇怪的/
    • @jahrichie 请看演示。
    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多