You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 3.2环境下使用AJAX返回的HTML数据替换网页原有内容失败如何解决

解决方案

  1. 给原页面需要替换的区域添加唯一标识
    在你现有页面中,原本渲染grid-container内容的父容器上,添加唯一的id属性,方便jQuery定位到要更新的区域,示例如下:
<!-- 原页面代码 -->
<div id="device_content_wrapper">
  <!-- 这里原本放你旧的设备列表grid内容 -->
</div>
  1. 修改AJAX请求成功后的回调逻辑
    在posting.done的回调函数中,新增代码将返回的HTML内容写入刚才标识的容器内,修改后的完整AJAX代码如下:
<script>
$(function() {
    $("#show_type").submit(function(event) {
        event.preventDefault();
        let friendForm = $(this);
        let posting = $.post( friendForm.attr('action'), friendForm.serialize() );
        posting.done(function(data) {
            console.log(data);
            // 新增内容替换逻辑
            $('#device_content_wrapper').html(data);
            window.alert("success action");
        });
        posting.fail(function(data) {
            window.alert("fail action");
        });
    });
});
</script>

注意事项

  • 确保你设置的容器id在整个页面中唯一,避免定位错误
  • 如果替换内容后,新HTML里的表单、按钮等交互元素的事件不生效,需要改用事件委托的方式绑定事件,不要直接绑定在元素本身,示例如下:
// 以删除设备表单为例,绑定到document或外层固定容器上,新增的元素也能触发事件
$(document).on('submit', 'form[action*="delete_device"]', function(e) {
  e.preventDefault();
  // 这里写你的删除提交逻辑
});

内容的提问来源于stack exchange,提问作者gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 13:15:02