在Django上使用Javascript正确获取查询
我正在开发一个网站,我的优先事项之一是一个动态搜索表与自动完成等 我发现使用ajax和javascript可以实现这一点 我已经在每次用户在搜索字段中键入时实现了一个触发器 当前的问题是从数据库获取数据,现在我得到一个404错误,没有返回任何数据 代码: views.py在Django上使用Javascript正确获取查询,javascript,django,Javascript,Django,我正在开发一个网站,我的优先事项之一是一个动态搜索表与自动完成等 我发现使用ajax和javascript可以实现这一点 我已经在每次用户在搜索字段中键入时实现了一个触发器 当前的问题是从数据库获取数据,现在我得到一个404错误,没有返回任何数据 代码: views.py def search_bib(request): if request.method == "POST": search_str=json.loads(request.body).g
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:
任何帮助都将不胜感激,我是这个网站的新手,我希望我没有做错这篇文章。对改进我的帖子的反馈也很感谢-谢谢 首先,我注意到您的函数返回的数据是所有对象。它应该返回bib,这是过滤结果
其次,您的路由有问题,因为函数应该按预期工作。首先,我注意到您的函数返回的数据是所有对象。它应该返回bib,这是过滤结果
其次,您的路由有问题,因为该函数应该按预期工作如果您查找404错误是什么,您会看到它表明无法找到服务器上的资源。您是否可以显示django的URL路由以确保路由不是404的情况如果您查找404错误是什么,您会看到,这表明无法找到服务器上的资源。您能否显示django的URL路由以确保路由不是404的情况
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);
});
}
});