#javascript #json #fetch
#javascript #json #выборка
Вопрос:
Я пытаюсь получить все альбомы с определенной подстрокой в их названии из моего локального файла json.
Я могу решить эту проблему, выбрав все альбомы в файле и отфильтровав их позже, но я хочу знать, есть ли способ извлекать только определенные альбомы, имена которых содержат определенную подстроку.
function getAlbum(id){
return from(
fetch(`http://localhost:3000/albums/${id}`)
.then(response => {
if(response.status === 404){
return fetch(`http://localhost:3000/albums`)
.then(response => response.json());
}
else
return response.json();
})
);
}
Пока это мое решение, как я уже сказал, оно извлекает все альбомы, если не находит ни одного с определенным идентификатором.
Комментарии:
1. Это должно быть решено на стороне сервера, если это возможно.
2. Звучит так, как будто вам нужно предоставить другой ресурс, что-то вроде localhost:3000/albumSearch/ $ {term} или localhost:3000/albums?search= $ {term}. Вы не сможете сделать это с клиента, не выполнив эти несколько вызовов.
3. Вы должны сделать это с помощью фильтрации на стороне сервера. Вы отправляете подстроку, которую хотите включить в имя файла в качестве фильтра, и из серверной части все отфильтрованные результаты будут отправлены вам после разрешения
fetch
.