【发布时间】:2016-01-13 00:37:22
【问题描述】:
我有 python/django 应用程序,需要搜索引擎,而对于搜索引擎,我正在使用 jquery 的强大功能。我对 Jquery(实际上是整个 Javascript)仍然很陌生,但我认为这似乎是正确的,我不确定为什么这不起作用。
所以我有这个代码:
<li class="nav-header">search for community</li>
{% csrf_token %}
<input type="text" id="search" name="search" />
<ul id="search-results">
</ul>
我有输入 id 搜索。和另一个 id 搜索结果。 然后我有这个 javascript 文件。
$(function(){
$('#search').keyup(function() {
$.ajax({
type: "POST",
url: "/search/",
data: {
'search_text' : $('#search').val(),
'csrfmiddlewaretoken' : $("input[name=csrfmiddlewaretoken]").val()
},
success: searchSuccess,
dataType: 'html'
});
});
});();
function searchSuccess(data, textStatus, jqXHR)
{
$('#search-results').html(data);
}
我在这里匹配 id 搜索。使用 keyup 功能。是因为功能错误吗?这不太可能,因为整个事情都很好。总的来说,我的意思是搜索功能在这里http://127.0.0.1:8000/search/ 有search.html
{% extends 'base.html' %}
{% block content %}
<h2>Search</h2>
<form method="get" action=".">
<table>
{{ form.as_table }}
<tr>
<td> </td>
<td>
<input type="submit" value="Search">
</td>
</tr>
</table>
{% if query %}
<h3>Results</h3>
{% for result in page.object_list %}
<p>
<a href="{{ result.object.get_absolute_url }}">{{ result.object.name }}</a>
</p>
{% empty %}
<p>No results found.</p>
{% endfor %}
{% if page.has_previous or page.has_next %}
<div>
{% if page.has_previous %}<a href="?q={{ query }}&page={{ page.previous_page_number }}">{% endif %}« Previous{% if page.has_previous %}</a>{% endif %}
|
{% if page.has_next %}<a href="?q={{ query }}&page={{ page.next_page_number }}">{% endif %}Next »{% if page.has_next %}</a>{% endif %}
</div>
{% endif %}
{% else %}
{# Show some example queries to run, maybe query syntax, something else? #}
{% endif %}
</form>
{%endblock%}
我正在尝试使用 search.html 中的功能在 index.html 的搜索栏中和 Jquery keyup 功能中工作。 你能告诉我为什么我不能使用匹配 id 的 jquery 函数吗?
详细说明:这就是我的代码的工作方式
里面的 urls.py
我有url(r'^search/$',include('haystack.urls')),
和其他干草堆设置。
然后在views.py中
def search_titles(request):
categories = SearchQuerySet().autocomplete(content_auto=request.POST.get('search_text', ''))
return render_to_response('ajax_search.html', {'categories' : categories
})
对于 ajax_search.html
{% if categories.count > 0 %}
{% for category in categories %}
<li><a href="/category/{{post.category}}">{{ category.title }}</a></li>
{% endfor %}
{% else %}
<li>None to show!</li>
{% endif %}
我几乎可以肯定,问题出在 ajax 上
【问题讨论】:
-
});(); -
是的,删除这个人
(); -
@epascarello 谢谢,但我收到127.0.0.1:8000/static/static_in_pro/our_static/js/ajax.js 加载资源失败:服务器响应状态为 404(未找到)
-
@Pamblam 谢谢,但我得到127.0.0.1:8000/static/static_in_pro/our_static/js/ajax.js 加载资源失败:服务器响应状态为 404(未找到)
-
@lip123809 - 你的路径是错误的。我不能告诉你正确的路径因为我看不到你的文件系统。你自己在那里。
标签: javascript jquery python django