#javascript #django
#javascript #django
Вопрос:
Я разрабатываю веб-сайт, и одним из моих приоритетов является динамическая таблица поиска с автозаполнением и т.д.
Я обнаружил, что это возможно с помощью ajax и javascript.
Я уже реализовал триггер каждый раз, когда пользователь вводит данные в поле поиска.
Текущая проблема заключается в получении данных из базы данных, прямо сейчас я получаю ошибку 404, и данные не возвращаются.
Код:
views.py
def search_bib(request):
if request.method == "POST":
search_str=json.loads(request.body).get('searchText')
bib = Bibrest51.objects.all().filter(
autor__starts_with=search_str) | Bibrest51.objects.all().filter(
autor__icontains=search_str)
data = Bibrest51.objects.all()
return jsonResponse(list(data), safe=False)
JS:
const searchField = document.querySelector("#searchField");
searchField.addEventListener("keyup", (e) => {
const searchValue = e.target.value;
if (searchValue.trim().length > 0) {
console.log("searchValue", searchValue);
fetch("bibliografia-search", {
body: JSON.stringify({ searchText: searchValue }),
method: "POST",
})
.then((res) => console.log(res))
.then((data) => {
console.log("data", data);
})
.catch((e) => {
console.log(e);
});
}
});
Любая помощь была бы очень признательна, я новичок на сайте, и я надеюсь, что я не сделал ничего плохого с этим сообщением. Обратная связь для улучшения моего поста также приветствуется — спасибо!
Комментарии:
1. Если вы посмотрите, что такое ошибка 404, вы увидите, что это указывает на то, что ресурс на сервере не может быть найден.
2. Не могли бы вы показать маршруты URL-адресов django, чтобы убедиться, что routes не относится к 404
Ответ №1:
Во-первых, я заметил, что ваша функция возвращает данные, которые являются всеми объектами. Он должен возвращать bib, который является отфильтрованным результатом.
Во-вторых, это проблема с вашими маршрутами, поскольку функция должна работать должным образом