我有一个查询,我只是想知道它是否可行。如果是,那么如果您可以引导我参考样本或示例,那将是非常有用的。
所以我要做的是,对HTML(或DOM元素)进行比较。让我们来看看这个场景:
我的页面上有5行(5 <tr>
或5 <div>
),我进行ajax调用以获取更多数据,这次服务器返回8行(仅3行是新的,5行仍然是旧行),所以不是再次显示所有8行,我只想将这3个新行追加到已经存在的5行。
我知道一个解决方案是在我的服务器端执行,一次发送一行,但服务器端代码或多或少被冻结,所有更改只需在客户端完成。
您的意见很有价值。
答案 0 :(得分:1)
如果您只能在客户端处理此问题,我建议在客户端存储数据对象(关联数组),并从中构建HTML。
答案 1 :(得分:1)
当您收到AJAX数据时,您应该尝试解析检索到的ID(或某些标识对象,如日期/时间)并将它们保存在数组中。每次获得AJAX数据时,解析ID,检查数组是否为新数据,如果是,则显示它。
IDEAL方法是将检索到的最高ID传递给ajax调用,让服务器只返回id大于该值的项。这与Facebook如何进行实时反馈非常相似。
答案 2 :(得分:0)
为什么不简单地使用JS变量来跟踪已经存在的元素?我认为其他一切都太复杂了,因为它需要一些复杂的比较。否则只需删除所有行并将它们全部放入。
所以 - 或者: