Как перебрать массив json при успешном обратном вызове в этом коде? - PullRequest
1 голос
/ 29 апреля 2019

Я извлекаю данные из базы данных с помощью php и mysql и возвращаю массив с json, который выглядит в консоли следующим образом:

enter image description here

Я пытаюсь перебрать этот результат в обратном вызове успеха с этим кодом без успеха:

$.ajax({
  type: 'POST',
  url: 'query/getUpdate.php',
  data: values,
  dataType: 'json',
  success: function(datas) {


    if (datas.message === 'success') {

      var selectedworkerid = datas.selectedworkerid;

      //display number of new messages

      datas = $.parseJSON(datas);
      $.each(datas, function(key, val) {
        console.log(key);
        console.log(val.selectedworkerid);
      });

    }

  }
});

Что я делаю не так или чего мне не хватает, чтобы это сработало?

1 Ответ

2 голосов
/ 29 апреля 2019

Вы должны перебирать объекты в массиве, чтобы иметь возможность перебирать пары ключ-значение каждого объекта:

$.each(datas, function (index, obj) {
    if (obj.message === "success") {
        $.each(obj, function (key, val) {
            console.log(key);
            console.log(val);
        });
    }
});

Чтобы просто получить selectedworkerid каждого объекта, если сообщение "success", вам нужно выполнить итерацию один раз:

$.each(datas, function (index, obj) {
    if (obj.message === "success") {
        console.log(obj.selectedworkerid);
    }
});
...