循环通过json数组jquery
我试图通过这个循环来获得“名称”值。 这是我现在有,但似乎没有工作,从这里张贴的东西尝试了几个,但似乎没有任何工作。
$.get("/get_names", {campaign_id: $('select[name="id"]').val()}, function(data){ $.each(data, function(i, item) { alert(item); }); } );
Json被返回:
[ { "name":"age" }, { "name":"asdf" }, { "name":"drivername" }, { "name":"drivers" }, { "name":"firstname" }, { "name":"gender" }, { "name":"lastname" }, { "name":"make" }, { "name":"model" }, { "name":"vehicles" }, { "name":"year" } ]
我试过使用:
item.name item[i].name
有什么build议么?
谢谢!
你必须将stringparsing为JSON( data[0] == "["
表示data
实际上是一个string,而不是对象):
data = $.parseJSON(data); $.each(data, function(i, item) { alert(item); });
您也可以从.get()
方法更改为.getJSON()
方法,然后jQuery将parsing作为data
返回的string到JavaScript对象和/或数组,然后您可以引用像任何其他JavaScript对象/数组。
使用上面的代码,如果将.get
更改为.getJSON
,则应该为数组中的每个元素获取[object Object]
的警报。 如果您将警报更改为alert(item.name)
您将获得名称。
我不认为你从服务器返回json对象。 只是一个string。
你需要返回对象的dataType为json