Javascript文件/ Jquery没有呈现

时间:2016-01-12 10:08:25

标签: javascript jquery python ajax django

我很确定我渲染文件的方式有问题,因为其他一切看起来都很稳定,如果不是,请告诉我。因为我正在使用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文件位于我的静态文件夹中 - >另一个static-&gt; js&gt;然后是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 %}

1 个答案:

答案 0 :(得分:0)

我认为您想使用自动调用匿名函数,但实际上您忘了调用它。

Observable