返回但未显示在下拉列表中的Django Ajax值

落后的方式

我有一个简单的搜索框,其中使用Ajax在下拉建议列表中显示博客标题。

我没有看到任何错误,并且在inspect element > network > response通过浏览器使用时确实看到了填充的数据浏览器可以正确提取/articles/search/每个按键,并且数据就在那里,只是没有显示在我的模板中。

有什么建议?

urls.py

url(r'^search/$', 'article.views.search_titles'),

Views.py

def search_titles(request):
if request.method == "POST":
    search_text = request.POST['search_text']
else:
    search_text = ''

articles= Articles.objects.filter(title__icontains=search_text)

return render_to_response('ajax_search.html', {'articles' : articles})

ajax_search.html

{% for article in articles %}
    <li><a href="/{{ article.slugname }}/">{{ article.title }}</a></li>
{% endfor %}

article.html

{% extends "base.html" %}
{% block sidebar %}
<h3>Search</h3>
{% csrf_token %}
<input type="text" id="search" name="search">
<ul id="search-results">

</ul>
{% endblock %}

base.html

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<script src="{% static "js/jquery-1.11.0.min.js" %}"></script>
<script src="{% static "js/ajax.js" %}"></script>
....

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)
{
$('#serch-results').html(data);
}
Skzryzg

我不知道这是多么必要,因为这是一个印刷错误,而不是一个逻辑错误,并且可能不适用于许多人,因此对于下一个出现的人,这可能不是您正在寻找的解决方案,但是可能是一个很好的教训。每当您到处寻找bug并确定已正确完成所有操作时,请休息一下。以后再以新鲜的眼睛回来。问题永远不会出现在您认为的地方。

在这种情况下,他失踪了一个在他searchSuccess()的定义,其中$('#serch-results')应该有$('search-results)

编辑:另外,在django的开发服务器上,我遇到了ajax和一个或两个其他函数的问题,这些地方的代码更改停止生效。有时您必须重新启动服务器,终端或整个计算机(我建议按此顺序)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

值未显示在下拉列表中

Laravel CRUD Ajax 编辑:在下拉列表中显示从表中选择的值

使用ajax json在下拉列表中显示数据

使用jQuery Ajax在下拉列表中的各个值

根据选择在下拉列表中设置显示值

在下拉列表中显示预定义的值

Flutter:选定的值未显示在下拉列表中

最初不要在下拉列表中显示值

试图在下拉列表php中显示先前选择的值

如何在下拉列表中显示所选值

使用 AJAX 在 HTML 下拉列表中显示 python 列表的值

在下拉列表中提交并显示选定值后如何保留ajax数据?

在下拉列表中自动选择值

如何获得显示在下拉列表中没有值的值呢?

reactstrap 未在下拉列表中显示选定的默认值/值

在MVC中更新时,在下拉列表中显示选定的值

如何使用Laravel在下拉列表中显示数据库中的选定值?

提交后,PHP在下拉列表中未显示更新的值

如何使用react js在下拉列表中显示数组值?

如何使用Spring和Thymeleaf在下拉列表中显示所有可能的枚举值?

PHP和MySQLi-在下拉列表中两次显示选定的值

在下拉列表中显示来自 Array 的值,并根据选择过滤键和调用 api?

从请求验证后,如何使用Laravel在下拉列表中显示选定的值?

在下拉列表中选择的操纵up返回值

在下拉列表中选择值显示隐藏的输入字段

PHP 在下拉列表中显示空白值,该值从数据库中获取 NULL 值

如何在下拉列表中检索数组值的列表

如何在下拉列表中显示实际值,以及如何设置此列表中的其他选项

如何在Django模板中显示选择下拉列表值?