#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);
}
}