weixin_33735077 2015-11-17 02:50 采纳率: 0%
浏览 43

为什么单击列表内容没有任何反应?

我正在使用此处的示例:http://stackoverflow.com/questions/27218680/how-can-i-reload-just-one-div-on-click。 我认为我的示例中缺少某些内容,或者由于使用MPTT而不是标准菜单而导致值未传递。

这是我在base.html中找到的菜单加载方式:

{% recursetree nodes %}
    <a href="#" id="{{ node.id }}"> {{ node.name }}</a>
{% endrecursetree %}

这是其中的javascript:

<script>
$(document).on('click','.node',function(e) {
    id = $(this).attr("id");

    $.ajax({
        type: "GET",
        url: '/gui/details/' + id,
        success: function (result) {
            $('.details').html(result);
         },
     });
 });
 </script>

然后我尝试使用此 id 在此处重新加载模板:

<div class="details">
    {% include 'gui/details.html' %}
</div>

这是用于生成详细信息的视图:

def display_details(request, list_id):
    qs_details = Details.objects.filter(owner=request.user, list=list_id)

    return render(request, 'gui/details.html', {'qs_details': qs_details,})

当我单击列表中的任何内容时,它什么反应也没有。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 19:24
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你可能遇到了一个AJAX请求没有成功执行的问题。在你的例子中,你需要确保你的Ajax请求能够正确地处理数据并更新页面。以下是一些建议来帮助解决这个问题:

    1. 检查JavaScript错误:

      • 确保jQuery库是最新版本,并且已正确安装。
      • 检查你的Ajax请求是否有语法错误。
      • 如果有,修复它们。
    2. 检查HTML结构:

      • 确保你在<head>部分包含了正确的<script>标签。
      • 确保你在<body>部分包含了一个完整的<div>元素,用来包裹你的<script><link>标签。
      • 确保你的<script>标签正确引用了你的JavaScript文件。
    3. 检查服务器端脚本:

      • 确保你的服务器端脚本(如PHP、Python等)可以正确接收Ajax请求并返回适当的响应。
      • 你可以通过调试工具检查服务器端脚本的输出,以确定问题所在。
    4. 使用断点法:

      • 将浏览器的开发者工具设置为调试模式,打开Ajax请求的URL,查看服务器端的响应是否正常。
      • 逐行检查服务器端脚本,找出可能导致问题的地方。
    5. 使用浏览器的开发者工具:

      • 使用浏览器的开发者工具,检查请求和响应的状态码,确认Ajax请求是否成功完成。

    如果你已经按照上述步骤进行了测试和调试,但仍然无法解决问题,请提供更详细的错误信息或日志截图,以便进一步分析和定位问题。

    评论

报告相同问题?