JQuery цикл по JSON результат AJAX Успех? - PullRequest
144 голосов
/ 09 апреля 2009

В обратном вызове jQuery AJAX я хочу зациклить результаты объекта. Это пример того, как выглядит ответ в Firebug.

[
 {"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
 {"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
 {"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]

Как я могу зациклить результаты, чтобы у меня был доступ к каждому из элементов? Я пробовал что-то вроде ниже, но это не похоже на работу.

jQuery.each(data, function(index, itemData) {
  // itemData.TEST1
  // itemData.TEST2
  // itemData.TEST3
});

Ответы [ 12 ]

0 голосов
/ 22 января 2019

Я использую .map для foreach. Например

success:function(data){
      let dataItems = JSON.parse(data)
      dataItems = dataItems.map((item) => {
        return $(`<article>
                      <h2>${item.post_title}</h2>
                      <p>${item.post_excerpt}</p>
              </article>`)
      })
    },
0 голосов
/ 25 июня 2014

$each будет работать. Другой вариант - jQuery Ajax Callback для результата массива

function displayResultForLog(result) 
{
       if (result.hasOwnProperty("d")) {
           result = result.d
       }

    if (result !== undefined && result != null )
    {
        if (result.hasOwnProperty('length')) 
        {
            if (result.length >= 1) 
            {
                for (i = 0; i < result.length; i++) {

                    var sentDate = result[i];

                }
            }
            else 
            {
                $(requiredTable).append('Length is 0');
            }
        }

        else 
        {
            $(requiredTable).append('Length is not available.');
        }

    }
    else 
    {
        $(requiredTable).append('Result is null.');
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...