В моем приложении у пользователей есть список элементов, которые они могут разместить в любом порядке.Схема базы данных выглядит следующим образом:
Items
+ Id : int
+ Name : string
+ Order : int
, поэтому, когда пользователь упорядочивает вещи, он соответственно устанавливает поле Order
, чтобы я мог отсортировать его позже.Отлично.
Теперь я хочу сделать сортировку ajax-y, чтобы пользователь мог перетаскивать элементы по порядку (и использовать стрелки вверх / вниз), и он просто автоматически сохранит все.(Если вы знакомы с Netflix, они делают то же самое.)
Проблема, с которой я сталкиваюсь, заключается в том, что для того, чтобы сохранить изменения пользователя по мере их внесения, мне потребуется выполнить вызов AJAX.каждый раз, когда они что-то делают.Если пользователь перемещает элемент из позиции 10 в позицию 1, это означает, что мне нужно обновить 10 записей в этом маленьком вызове ajax.Между тем, пользователь мог поставить в очередь еще 3 вызова AJAX для обновления других записей.
Это кажется неэффективным и может привести к ошибкам (из-за условий гонки и т. Д., Если вызовы AJAX занимают много времени.) Должен ли я беспокоиться об этом?Есть ли более эффективный способ сделать это?Если что-то изменится, я ожидаю, что у большинства пользователей будет менее 5 элементов для сортировки.