Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django在使用AJAX时未收到新的查询字符串_Javascript_Ajax_Django_Django Forms_Django Views - Fatal编程技术网

Javascript Django在使用AJAX时未收到新的查询字符串

Javascript Django在使用AJAX时未收到新的查询字符串,javascript,ajax,django,django-forms,django-views,Javascript,Ajax,Django,Django Forms,Django Views,AJAX调用未将新查询字符串发送到views.py。调用成功,但数据库不随结果更新。我想我打电话是为了什么?如何使查询字符串到达views.py?如果我去掉.preventDefault(),一切正常。我很确定我的views.py中有一些东西需要编辑 html: views.py def page(request): stuff = model.objects.all() query = request.GET.get("search") if query:

AJAX调用未将新查询字符串发送到views.py。调用成功,但数据库不随结果更新。我想我打电话是为了什么?如何使查询字符串到达views.py?如果我去掉
.preventDefault()
,一切正常。我很确定我的views.py中有一些东西需要编辑

html:

views.py

def page(request):
    stuff = model.objects.all()
    query = request.GET.get("search")
    if query:
        stuff = stuff.filter(
            Q(field__icontains=query)

            )
    context = {'stuff': stuff,
    }
    return render(request, 'app/page.html', context)
更新


我做了一些挖掘,这有助于进一步解释事情。我基本上必须创建一个包含
页面
所有内容的单独视图。这个新视图具有“逻辑”,处理ajax请求并输出结果,然后我告诉我的ajax调用发送给div。不要忘记为新视图创建url。这就是您需要将ajax请求发送到的位置

您没有在
data:
选项中指定参数名
search

data: { search: $("#foo").val() },

您没有在
数据:
选项中指定参数名称
search

data: { search: $("#foo").val() },

出于某种原因,这是行不通的。有什么原因吗?你确定我的视图中没有需要添加的内容。py?对不起,我没有使用Django。但我不明白为什么需要什么特别的东西。这将以完全相同的方式发送参数,如果您执行普通表单提交而不是AJAX,则发送参数的方式将与发送参数的方式完全相同。您说过当您取出
.preventDefault()
时表单会工作,这会导致表单正常提交。您在
成功:
函数中是否有代码,用于在DOM中显示返回的HTML?好的,谢谢您的澄清。最后一个问题:
url
片段当前设置为向自身发送请求(同一页面)。也许我应该把它发送到页面的特定部分?再次感谢您的回复。是的,我知道,它被设置为显示一个隐藏的div,该div将公开查询结果(一个表)。我遇到的主要问题是刷新,刷新会再次隐藏div。由于某种原因,这不起作用。有什么原因吗?你确定我的视图中没有需要添加的内容。py?对不起,我没有使用Django。但我不明白为什么需要什么特别的东西。这将以完全相同的方式发送参数,如果您执行普通表单提交而不是AJAX,则发送参数的方式将与发送参数的方式完全相同。您说过当您取出
.preventDefault()
时表单会工作,这会导致表单正常提交。您在
成功:
函数中是否有代码,用于在DOM中显示返回的HTML?好的,谢谢您的澄清。最后一个问题:
url
片段当前设置为向自身发送请求(同一页面)。也许我应该把它发送到页面的特定部分?再次感谢您的回复。是的,我知道,它被设置为显示一个隐藏的div,该div将公开查询结果(一个表)。我遇到的主要问题是刷新,刷新会再次隐藏div。
data: { search: $("#foo").val() },