循环通过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