function loadResponse(filter) {
$.ajax({
type: 'GET',
url: 'path/to/example.json',
dataType: 'json',
cache: false,
beforeSend: function() {
console.log('loading');
},
success: function (response) {
//console.log('success, filtering response..');
var filtered = $(response).filter(function (i, n) {
return n.type === filter; //not working
});
console.log('filter by json ' + filtered);
for (var key in filtered) {
if (filtered.hasOwnProperty(key)) {
console.log('list ' + filtered[key]["description"]);
console.log('list ' + filtered[key]["name"]);
}
}
}
});
}
console.log
все время давал undefined
для описания или названия. Но тем не менее я тестировал без:Почему не удается получить доступ к json?
var filtered = $(response).filter(function (i,n) {
return n.type === filter; //not working
});
возможность получить описание и имя в console.log
. Кажется, $(response).filter
не возвращает somthing. не уверен, где это пошло не так.
Update
См JSON - ответ должен распечатать имя и тип. поэтому нужно фильтровать тип внутри JSON
[
{
"name": "Jonathan Suh",
"type": "zoologist, hobbyist"
},
{
"name": "William Philbin",
"type": "judge, hobbyist"
},
{
"name": "Allison McKinnery",
"type": "hobbyist"
}
];
$('.filter a').on('click', function(e){
e.preventDefault();
loadResponse($(this).attr('id'));
});
Пример:
<a href='#' id="hobbyist">Hobbyist</a>
Так нажмите на это выше, он должен дать мне список 3-х человек, которые аквариумисты.
Что 'filter' означало быть там? – arkascha
вам нужно будет показать нам, что такое «ответ» от ajax. (*, а также переменная 'filter' *) –
@arkascha - нужно фильтровать по типу, совпадающему с атрибутом click по id, чтобы получить информацию от конкретных людей в списке по определенному типу – joe