当ajax成功时,重新加载视图的最佳方法是什么?

时间:2017-01-20 10:29:23

标签: jquery ajax

我有add button。当用户单击此按钮时,我向控制器方法调用ajax function。在控制器中执行某些操作后,返回view model并添加用户添加的数据。

我在ajax success() Like =>

之后重新加载了视图模型
success: function (data) {                    
                    $("#divLibrarySidePanel").html(data);
                },

我的html结构是

<body>

        <table border="0" style="border-spacing: 5px 0px; width: 100%;border:0px solid grey;" id="divLibrarySidePanel">
            <tr>
                <td style="vertical-align: top; width: 100%; height: 100%">
.
.
.
</td>
</tr>
</table>
</body>

重新加载成功。但是当我检查浏览器的inspect.It显示我喜欢=&gt;

enter image description here

这是重复的表结构。我哪里错了,哪种方式最好重新加载视图?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您可以使用.replaceWith()

  

用提供的新内容替换匹配元素集中的每个元素,并返回已删除的元素集。

$("#divLibrarySidePanel").replaceWith($("<div>", {
        html: data
    }).find('#divLibrarySidePanel'));

根据快照,data返回包含目标元素的HTML片段。因此.find()只提取所需的部分。

或者,您可以浏览提交FORM

的传统路线