Как извлечь данные из ответа jquery ajax, который является списком карт?

#javascript #jquery #arrays #ajax #object

#javascript #jquery #массивы #ajax #объект

Вопрос:

Итак, у меня есть ответ от вызова ajax, который представляет собой список карт. Мне нужно повторить ответ и из каждой карты в списке извлечь определенное значение, используя ключ «SchoolName». Мой код прояснит, что я хочу сделать:-

  success:function(response){
    response.each(function(index,value){
        console.log(value.get("schoolName"))
    })
}
  

Это выдает мне ошибку:- Menu.html:33 Uncaught TypeError: response.каждая из них не является функцией

Как мне получить значение «SchoolName» из всех карт в списке ответов?

Комментарии:

1. Как response выглядит?

2. Ответ представляет собой список карт:-0: {SchoolID: 69448, SchoolName: «ABC SCHOOL»} 1: {SchoolID: 69453, SchoolName: «ABCSchool»} 2: {SchoolID: 69412, SchoolName: «Alianza Educativa»} и так далее…

Ответ №1:

Попробуйте с помощью $.each()

 $.each(response, function (index, value) {
   console.log(value.schoolName)            
});
  

Источник: Страница jQuery

Комментарии:

1. Теперь он говорит «value.get не является функцией».

2. попробуйте получить доступ к ответу со значением. SchoolName вместо value.get(«SchoolName»)

Ответ №2:

Во-первых, вы должны декодировать responde. может быть, это в Json?

 jQuery.parseJSON(response);
  

Затем используйте jQuery.каждый правильно:

 success:function(response){
    jQuery.each(jQuery.parseJSON(response), function(index, value){
        console.log(value.get("schoolName"))
    })
}
  

Чтобы быть более точным, шаблон ответа может помочь

Комментарии:

1. 0: {Идентификатор школы: 69448, название школы: «ABC SCHOOL»} 1: {Идентификатор школы: 69453, название школы: «ABCSchool»} 2: {Идентификатор школы: 69412, название школы: «Alianza Educativa»}

Ответ №3:

Поскольку это объект, вы можете использовать $.each . Также просто используйте точечную нотацию для доступа schoolName :

 success:function(response){
    $.each(response, function(index,value){
        console.log(value.schoolName)
    })
}
  

Ответ №4:

не уверен, на что похож ваш ответ, но если schoolName это ключ объекта, а ваш ответ представляет собой массив объектов, вы можете сделать:

 (response) => {
   for (let i of response) {
      console.log(i.schoolName);
   }
}