0
我正在开发一个应用程序,用户可以在列表中选中并取消选中某些itens。他可以重复检查/取消选中。在每个动作中,都会对服务器进行ajax调用,更新信息。由于调用不能保证以与调用顺序相同的顺序对服务器进行,因此如何保持同步?使用jQuery Ajax保持用户界面和服务器数据库之间的数据同步
我可以阻止用户检查/取消选中,直到服务器响应上一个操作,但我认为必须有更好的方法。
我正在开发一个应用程序,用户可以在列表中选中并取消选中某些itens。他可以重复检查/取消选中。在每个动作中,都会对服务器进行ajax调用,更新信息。由于调用不能保证以与调用顺序相同的顺序对服务器进行,因此如何保持同步?使用jQuery Ajax保持用户界面和服务器数据库之间的数据同步
我可以阻止用户检查/取消选中,直到服务器响应上一个操作,但我认为必须有更好的方法。
这并不完全清楚你在这里担心什么 - 你应该描述一下你真正担心的用户场景。
如果你真的想确保向服务器发送一个给定的变化是从没被交付有点晚了来自同一个客户的早期变化覆盖,然后就可以把客户端时间戳每个AJAX请求在您的服务器上,然后忽略任何包含比上次更改更早的时间戳的数据。这要求您在服务器上记住来自给定客户端的给定数据的每次更改的最后时间戳。
一般来说,这不是一个常见问题。您需要将非常迅速的用户更改和一些奇怪的网络组合在一起,从而导致一个请求被延迟,并且下一个请求不会被延迟。由于这两个请求通常采用相同的网络路由,因此这种情况很少见。如果您担心的不同于此场景,请描述一下。
@LucasMartinsSilva - 你有没有证据表明这确实是你需要防范的东西,因为它需要一堆服务器端的工作来防止它。 – jfriend00