在ajax请求后附加html

时间:2014-11-05 23:05:33

标签: javascript jquery html ajax django

我正在向一个带有AJAX调用的线程发布评论。

它将请求发送到服务器。如何将新评论附加到其他评论?

我猜它会像

.done(function () {
    ...().after(html);
});

评论的风格有点复杂,因此仅仅将一些文字附加到div是不够的。这通常是怎么做的?

我正在使用jQuery和Django。应该是服务器端使用Django模板生成html还是使用jquery(也许是jquery模板系统)生成客户端?

这是如何在Facebook的网站上完成的?它是通过在成功发布时附加html还是以间隔刷新页面并更新整个页面来进行的?

4 个答案:

答案 0 :(得分:0)

你有两种方式:   - 您的Web服务器返回一个JS代码,它将HTML添加到您的视图中,编码可能更简单,因为您可以使用python代码。   - 您的Web服务器只返回数据,您必须手动创建HTML,我不喜欢这样,因为您必须重新创建HTML,如果您的注释的HTML代码发生更改,您将不得不维护2个代码。

我建议你生成HTML服务器端。

答案 1 :(得分:0)

你可以添加一个div与一个类,而不是用你的新评论填充这个div。

之类的东西
$('.div_comment').last().append('<div class="comment">' + newComment + '</div>');

答案 2 :(得分:0)

如果您在将新评论加载到网页后遇到.css问题,请查看此链接,这对我有很大帮助: Updating components/css 对于加载内容我只是建议$("#component").append(html)虽然我不得不说,直接设置为HTML时要小心,因为你可能会遇到功能问题,比如点击等。 查看backbone.js以动态添加内容

答案 3 :(得分:0)

只需使用.append,点击链接即可自行查看