Подтвердить что ты не робот

Цикл через json-массив jquery

Я пытаюсь пройти через это, чтобы получить значения "name". Это то, что я сейчас имею, но, похоже, он не работает, попробовал несколько других из того, что было опубликовано здесь, но ничего не работало.

    $.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

Любые предложения?

Спасибо!

4b9b3361

Ответ 1

Вам нужно проанализировать строку как JSON (data[0] == "[" является признаком того, что data - это фактически строка, а не объект):

data = $.parseJSON(data);
$.each(data, function(i, item) {
    alert(item);
});

Ответ 2

вы также можете изменить метод .get() на метод .getJSON(), затем jQuery проанализирует строку, возвращаемую как data, на объект javascript и/или массив, который затем можно ссылаться, как и любой другой объект javascript/массив.

используя ваш код выше, если вы изменили .get на .getJSON, вы должны получить предупреждение [object Object] для каждого элемента массива. Если вы изменили оповещение на alert(item.name), вы получите имена.

Ответ 3

Я не думаю, что вы возвращаете объект json с сервера. просто строка.

вам нужно, чтобы dataType возвращаемого объекта был json