Javascript Django站点上的搜索栏不起作用
我正在做一个Django项目,在我的本地主机站点上,我在该站点上创建了一个搜索栏。但是,当给定输入时,该搜索栏不会返回任何结果。我查看了页面来源,注意到一些我从未输入的行:Javascript Django站点上的搜索栏不起作用,javascript,python,ajax,django,django-urls,Javascript,Python,Ajax,Django,Django Urls,我正在做一个Django项目,在我的本地主机站点上,我在该站点上创建了一个搜索栏。但是,当给定输入时,该搜索栏不会返回任何结果。我查看了页面来源,注意到一些我从未输入的行: <input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow /> 当我输入一些输入时,我得到了这一行: POST http://127.0.0.1:8000/arti
<input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow />
当我输入一些输入时,我得到了这一行:
POST http://127.0.0.1:8000/articles/search/ [HTTP/1.0 404 NOT FOUND 13ms]
这是我的ajax.js文件:
$(function() {
$('#search').keyup(function() {
$.ajax({
type: "POST",
url: "/articles/search/",
data: {
'search_text' : $('#search').val(),
'csrfmiddlewaretoken' :
$("input[name=csrfmiddlewaretoken]").val()
},
success: searchSuccess,
dataType: 'html'
});
});
});
function searchSuccess(data, textStatus, jqXHR)
{
$('#search-results').html(data);
}
在我的urls.py文件中,我有一行可以进行搜索:
url(r'^search/', 'article.views.search_titles'),
在my views.py文件中,我有以下搜索功能:
def search_titles(request):
if request.method == "POST":
search_text = request.POST['search_text']
else:
search_text = ''
articles = Article.objects.filter(title__contains=search_text)
return render_to_response('ajax_search.html', {'articles' : articles})
我不知道我在做什么,导致搜索栏无法工作,但如果你需要查看更多我的源代码,请告诉我,我会编辑这篇文章。多谢各位 您的
url
规则应该是
url(r'^articles/search/,'article.views.search_titles'),
不是
url(r'^search/,'article.views.search\u titles'),
您需要添加
“articles”
,以匹配url ajax调用“/articles/search/”
@brown1001如果此答案对您有帮助,您可以单击复选框将其标记为正确答案。谢谢
def search_titles(request):
if request.method == "POST":
search_text = request.POST['search_text']
else:
search_text = ''
articles = Article.objects.filter(title__contains=search_text)
return render_to_response('ajax_search.html', {'articles' : articles})