1

Здравствуйте. Задача такая: есть скрипт, после обработки данных, он возвращает данные. При получении, нужно их обработать. Я смотрю их обычно через console.log(file). Прилетает массив данных (показаны на скрин 1.). Мне нужно получить данные из раздела file.xhr.response. Я так и пишу console.log(file.xhr.response); в ответ тишина. В чем может быть причина, возможно к этому уровню надо обратиться как-то по другому. Например, пишу console.log(file.xhr); выводится массив с данными xhr... (скрин 2), но дальше спуститься не получается. Как добраться до этого уровня? Заранее спасибо!

Скрин 1 Скрин 2

1 Answers1

1

У xhr в ответе всегда строка, её нужно парсить.

var res = JSON.parse(file.xhr.responseText)
console.log(res.name);

Ну и, возможно, вы не дожидаетесь ответа сервера?

file.xhr.onload = function() {
  var res = JSON.parse(file.xhr.responseText)
  console.log(res.name);
};  

Дело в том, что значение объекта в консоли отображается на момент его раскрытия(об этом свидетельствует синяя буква i), вы кликаете в момент, когда ответ уже получен и видите его, а вот когда вызываете console.log - там ещё пусто.

vp_arth
  • 27,179
  • 1
    Первый вариант не рабочий, я его тоже "мурыжил", а второй то что надо! Здорово. Вы сэкономили мне время, СПАСИБО! – Евгений Mar 21 '17 at 19:39