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

