gpt4 book ai didi

javascript - Django 网站上的搜索栏无法运行

转载 作者:行者123 更新时间:2023-12-02 16:30:16 25 4
gpt4 key购买 nike

我正在做一个 Django 项目,并在我的本地主机站点上创建了一个搜索栏。但是,在给定输入时,该搜索栏不会返回任何结果。我查看了页面源代码,发现了一些我从未放入的行:

<input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow />

然后,我在 Ubuntu 上的 Firefox 浏览器上使用了 Inspect Element 功能,当我刷新页面后运行网络监视器时,我得到了以下信息:

GET http://127.0.0.1:8000/static/assets/css/default.css [HTTP/1.0 304 NOT MODIFIED 5ms]
GET http://127.0.0.1:8000/static/assets/js/jquery-2.1.3.min.js [HTTP/1.0 304 NOT MODIFIED 8ms]
GET http://127.0.0.1:8000/static/assets/js/ajax.js [HTTP/1.0 304 NOT MODIFIED 11ms]

当我输入一些内容时,我得到了这一行:

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'),

在我的views.py文件中,我有这个search_titles函数:

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_titles'),

您需要附加“articles”以匹配您的url ajax调用“/articles/search/”

关于javascript - Django 网站上的搜索栏无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28371402/

25 4 0