не определено после вызова AJAX - PullRequest
0 голосов
/ 01 октября 2018

У меня есть функция ajax, которая возвращает данные, и я хочу вставить имя objects в массив, но когда я проверяю консоль, она продолжает говорить undefined.Как мне распечатать только определенный атрибут?

$.ajax({
      url: 'http://localhost:3000/list',
      type: 'get',
      success: function(response){
        console.log(response);
        console.log(response.name);
      },
      error: function(){
        console.log('err');
      }
    });

Когда я проверяю результаты на консоли

//console.log(response);
(3) [{...}, {...}, {...}]
1: {_id: "1", name: "a"}
2: {_id: "2", name: "b"}
3: {_id: "3", name: "c"}

//console.log(response.name);
(3)undefined

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

Ваш результат в форме array of objects, поэтому console.log(response.name); не будет работать для вас.Вы должны добавить индекс, например, response[1], а затем property name, например response[1].name, чтобы получить имя 2-го элемента. См. MDN , чтобы узнать больше о Accessors

response[0].name // logs a
response[1].name // logs b
response[2].name // logs c

например

const response = [{_id: "1", name: "a"},{_id: "2", name: "b"},{_id: "3", name: "c"}]

console.log(response[2].name);
0 голосов
/ 01 октября 2018

Поскольку имеется 3 объекта с именами, хотите ли вы вывести все из них?

const response = [{_id: "1", name: "a"},{_id: "2", name: "b"},{_id: "3", name: "c"}];
console.log(response.map(({name})=>name).join());
// or one at a time
response.forEach(({name}, index)=>console.log(`${index}: "${name}"`));
0 голосов
/ 01 октября 2018

Ваш ответ является объектом, поэтому вы должны указать индекс того, что вы хотите отобразить

  console.log(response[1].name); //will display "b"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...