未呈现Javascript文件/Jquery

Javascript file/Jquery not being rendered

本文关键字:Jquery 文件 Javascript      更新时间:2023-09-26

我很确定我渲染文件的方式有问题,因为其他东西看起来都很扎实,如果不是,请告诉我。没有任何东西出现在我的酒吧,因为我正在使用keyup。甚至没有一个错误,我认为这意味着jquery没有被呈现。在这里我的代码是吗

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

index.html

{% csrf_token %}
      <input type="text" id="search" name="search" />
      <ul id="search-results">
      </ul>

我正在匹配id作为搜索,但没有显示

我的javascript文件在我的静态文件夹中->另一个静态->js>然后是ajax.js这就是我做<script src="{% static 'js/ajax.js' %}"></script> 的方法

不确定我的python代码是否正确,因为它根本没有被渲染。在这里这是我的python代码

def search_titles(request):
    if request.method == "POST":
        search_text = request.POST['search_text']
    else:
        search_text = ""
    categories = Category.objects.filter(name__contains=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 %}

我想你想使用自调用匿名函数,但实际上你忘了调用它。

$(function(){
    ...
})();