2014-11-05 111 views
0

我正在向AJAX调用的线程发布评论。在ajax请求后附加html

它将请求发送到服务器,因为它应该。我怎样才能将新评论添加到其他评论?

我想这会是这样的

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

评论的风格是有点复杂,所以这是不够的,只是附加一些文字股利。这通常如何完成?

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

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

+0

页面刷新不再常见。可以返回json并使用客户端逻辑来解析DOM或返回html ....选择是你的 – charlietfl 2014-11-05 23:09:35

回答

0

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

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

0

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

$('.div_comment').last().append('<div class="comment">' + newComment + '</div>'); 
0

如果您正在加载到您的网页新的评论后,有您的的CSS麻烦,看看这个链接,这对我帮助很大: Updating components/css 和的负载内容我只想建议$("#component").append(html)虽然我不得不说,直接进入设置HTML时要小心,因为你可能有功能的烦恼,就像单击等 在Backbone.js的看看动态地添加内容

0

简单只需使用.append,点击链接自己查看