在我的应用程序中,用户可以按他们喜欢的任何顺序放入一个项目列表。数据库模式是这样的:如何高效地允许用户使用AJAX对列表进行排序
Items
+ Id : int
+ Name : string
+ Order : int
因此当用户把东西整理,这相应地设置Order
场,这样我可以再整理。大。
现在,我想进行排序ajax-y,以便用户可以将项目拖放到顺序中(并使用向上/向下箭头),并且它将自动保存所有内容。 (如果你对Netflix很熟悉,他们也会做类似的事情。)
我遇到的问题是,为了在用户做出更改时坚持用户的更改,我需要每次都进行一次AJAX调用他们做一些事情。如果用户将一个项目从位置10移动到位置1,这意味着我必须在该小小的ajax调用中更新10条记录。同时,用户可能已经排队等待3个AJAX调用来更新其他记录。
这似乎效率低下,并且可能会出错(由于竞争条件等,如果AJAX调用需要很长时间)。我应该担心这个吗?有没有更有效的方法来做到这一点?如果它有所不同,我希望大多数用户将有少于5个项目进行排序。