猿问

在 Django 上使用 Javascript 正确获取查询

我正在开发一个网站,我的首要任务之一是具有自动完成功能等的动态搜索表。


我发现这可能使用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)

记者:


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

      });

  }

});

任何帮助将不胜感激,我是该网站的新手,我希望这篇文章没有做错任何事。对于改进我的帖子的反馈也很感激 - 谢谢!


www说
浏览 138回答 1
1回答

拉丁的传说

首先,我注意到您的函数返回所有对象的数据。它应该返回 bib ,这是过滤后的结果。其次,这是您的路线问题,因为该功能应该按预期工作
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答