在ajax请求之后更新'div'
P粉891237912
P粉891237912 2023-08-17 11:47:33
[JavaScript讨论组]

这是我在Django中的第一个项目。我对Django、ajax和javascript都很陌生。我必须在进行ajax请求后将数据发送到jinja模板。

我的index.html如下:

{% if data %}
  <p>{{data.title}}</p>
  <p>{{data.price}}</p>
{% endif %}

我的javascript如下:

<script>
 $.ajax({
        type: "POST",
        url: "/",  // 替换为实际视图的URL
        data: {
            input_value: "test",
            csrfmiddlewaretoken: "{{ csrf_token }}"
        },
        success: function(response) {
            title = response // 请求后,response会变成 { "data" : {"title":"t1", "price":20} }
        },
        error: function() {
            console.log("Error")
        }
    });

<script>

我不知道这是否可行。有些人使用element.innerHTML来更新,但我需要发送到jinja格式。谢谢

P粉891237912
P粉891237912

全部回复(1)
P粉403804844

您在这里有两个选择,这取决于您的偏好。

  1. 返回一个模板而不是JSON 这里的想法是在服务器端生成模板,然后将生成的HTML返回给AJAX调用者。因此,Ajax成功只是将此HTML片段追加到正确的位置。

  2. 在JS中渲染div 如果您只有JSON策略或使用DRF,则唯一的方法是使用循环遍历接收到的项目并生成等效的HTML,然后将其添加到文档中。

您无法将JinJa放在同一页上,因为在生成页面以渲染它时,您尚未接收到数据。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号