2014-01-21 56 views
0

JSONJSON - 获取值

{ 
      "items": 
      [ 
      { 
       "name": "Project title", 
       "id": 16, 
       "image": "\u002fimages\u002fdefault.png", 
      }, 
      { 
       "name": "Project title", 
       "id": 25, 
       "image": "\xxx", 

      }, 
    ] 
    } 

JQquery

var getDataUrl = '/data'; 

$.ajax({ 
    url: getDataUrl, 
    type: 'GET', 
    dataType: 'json', 

    success: function(response){ 
     console.log(response + 'get?'); 
     $.each(response, function() { 
     console.log(response.name + 'get?'); 
    }); 
    }, 
    error: function(error) { 
     console.log(error) 
    } 
    }); 

试图让响应值打印,但不知道为什么它不显示名称。我需要获取名称,ID和图像,但现在测试,看看是否显示名称...

帮助赞赏,谢谢。

回答

2

变化responseresponse.items

success: function(response){ 
    $.each(response.items, function(i,v) { 
     console.log(v.name + 'get?'); 
    }); 
} 

文档:http://api.jquery.com/jquery.each/

+0

它CONSOLE.LOG之前(response.name +'进去呢?);哈哈你已经改变了。总而言之+1 – Bhadra

+0

@Bhadra哈哈,我忘了擦除console.log – kittymeows

4

我想你的意思是这样:

$.each(response.items, function() { 
    console.log(this.name + 'get?'); 
}); 
1

jQuery.each语法是:

jQuery.each(collection, callback(indexInArray, valueOfElement)) 

在您的例子,你需要改变这样的代码:

$.each(response.items, function(i, v) { 
    console.log(v.name + 'get?'); 
}); 
0

为您的成功尝试的功能:

$.each(response.items, function(i,v) { 
    console.log(v.name + 'get?'); 
}); 

此外,仔细检查是否具有有效的JSON。我认为它在你弦乐中的反斜杠上感到窒息。你可以验证一个网站,如http://jsonlint.com/

+0

我知道,我只复制几行并粘贴。感谢您指出 – kittymeows

0

首先检查JSON有效载荷,我猜一个逗号是'''之前的额外。

功能应该是这样的......

$.each(response.items, function(i, j) { 
    console.log(response.items[i].name); 
});​