Как добраться до значения в ответе JS [дубликат]

280
22 марта 2017, 17:52

На данный вопрос уже ответили:

  • Как вернуть значение из события или из функции обратного вызова? 2 ответа

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

Answer 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 - там ещё пусто.

READ ALSO
Копирование текста из div в meta

Копирование текста из div в meta

Добрый вечерВ общем мне нужно скопировать текст из <div> в <meta name="description" content=""> при помощи JQ

288
Как генерировать картинку на сайте

Как генерировать картинку на сайте

Как генерировать картинку на сайте с заранее заданным фоном и текстом полученным из input? Нужно чтобы текст этот накладывался на картинку...

310
Меню при нажатии на кнопку

Меню при нажатии на кнопку

Подскажите,пожалуйста! Как сделать,чтобы при нажатии на кнопку Меню появлялись все Категории("Портфолио"),а подгруппы Свадьбы,Беременность...

434