Javascript ajax成功后刷新html表
当我们使用ajax对数据库表执行破坏性操作(insert/update/delete)时,DOM必须反映这一变化。我看到两种常用的方法Javascript ajax成功后刷新html表,javascript,html,ajax,Javascript,Html,Ajax,当我们使用ajax对数据库表执行破坏性操作(insert/update/delete)时,DOM必须反映这一变化。我看到两种常用的方法 当破坏性数据库操作成功时,操作html表中的行以反映更改 当破坏性数据库操作成功时,通过发出另一个ajax请求刷新html表 假设用户A和B正在访问一个包含5行的表。然后A删除第一行,而B删除第二行。使用DOM操纵方法,A将看不到第二行被删除,而B将看不到第一行被删除。这个问题可以通过刷新方法消除,但是两个用户只有在自己执行操作时才能看到完整的更新 哪种方法
- 当破坏性数据库操作成功时,操作html表中的行以反映更改
- 当破坏性数据库操作成功时,通过发出另一个ajax请求刷新html表
哪种方法最好?简单的“刷新”方法(选项2)无法消除该问题 假设A和B都在查看表格。现在A删除了一行,如果刷新A的页面,它将仅在A的视图窗口中更新。但在B上运行的代码在该行被删除时不会意识到这一事实。只有在按照选项2删除一行或明显刷新浏览器后,他才会看到更新 一个快速的解决方案是在固定的时间间隔内使用Ajax请求刷新表数据。例如:5秒 为了让表在任何时候都能为每个用户真实地反映数据库的实时数据,您必须使用websocket。为此,您需要实时服务器和客户端
您可以通过某种方式实现整个web应用程序的一部分或功能,使该部分实时化,同时保持另一部分使用现有的技术堆栈。正是出于您所述的原因,选项B更好。谢谢。我很好奇,为什么人们总是使用上述两种方法,而不是每次都使用websocket?