我正在调整我的评论功能,我在两种策略之间做出选择。我的评论列表是无序列表。
第一种选择更简单,但我觉得这不是最好的或正确的方式。 如果我想使用第二个选项,如果同时发布多条评论,我怎么知道响应中的哪些评论比DOM中的评论更新?
思想?
答案 0 :(得分:2)
您可以将时间戳保留为JS引用的变量。
加载页面时,服务器端语言会将要加载的最后一条注释的时间戳分配给javascript变量。从那时起,每次加载更多评论时,都会发送您请求的最后一个时间戳。您的服务器端语言将检查比该时间戳更新的注释。确保在发送更多请求时更新时间戳。通过将其作为响应的一部分发送或跟踪您发送请求的时间。
答案 1 :(得分:0)
答案 2 :(得分:0)
您应该使用最新的UL
附加评论LI
。 为什么?您不必获取所有完整的UL列表并替换旧的列表。减少必须进行的更改。只需抓住最新的LI
并将其追加到最后。 LESS WORK MORE EFFICIENT
到目前为止,您的问题是关于如何知道哪一个是最新评论。存储时间戳,因为注释存储在DB中。在第一次获取注释的同时,尝试分配保存最后一项的时间戳的变量,然后在搜索数据库之后查找所有对您存储的时间戳感兴趣的内容,获取列表并附加它们,然后更新变量,再次使用最新的时间戳。
答案 3 :(得分:0)
假设你的无序列表是这样的:
<ul id="commentsList">
<li>Comment 1</li>
</ul>
在javascript中你会写:
$.ajax({
url: "the ajax url",
type: "GET",
data: {//whatever data},
success: function(r){
//Assuming r contains the comment.
//(Don't send html as the response but just the comment text
$("#commentsList").append("<li>" + r + "<li>");
}
});