Насколько атомным * должен * я сделать Ajax форму? - PullRequest
4 голосов
/ 23 апреля 2010

У меня есть несколько веб-форм, которые я привожу с помощью AJAX, и, поскольку я имел дело с базой данных на внутреннем сервере, я подумал, что, возможно, будет проще просто обрабатывать каждый ввод в форме с помощью AJAX, сохраняя форма в режиме реального времени, как пользователь ее редактирует. В формах ~ 20 полей административных настроек.

Может ли это привести к значительным накладным расходам с приложением, привести к тому, что оно будет подвержено ошибкам, или это осуществимая идея? Конечно, условные операции (например, флажок, который затем требует ввода текста) будут удерживаться до тех пор, пока текстовое поле не получит и не потеряет фокус.

Комментарии

Ответы [ 2 ]

2 голосов
/ 23 апреля 2010

Очевидно, что это приведет к гораздо большему количеству HTTP-запросов для сохранения данных пользователя, а также к большему количеству обновлений в вашей базе данных. Таким образом, этот подход определенно дороже, чем одно представление. От того, слишком ли это дорого, зависит нагрузка на ваш сервер.

Для меня большая трудность в том, что пользователи были обучены ожидать, что формы сохраняют данные только тогда, когда они нажимают «отправить». Нужно было бы проделать определенную работу, чтобы было ясно, что вы автоматически сохраняете их данные. Некоторые пользователи могут быть обеспокоены отсутствием кнопки «сохранить», а другие могут жаловаться, что они начали редактировать свои данные, но затем передумали, и теперь их частично полные данные необъяснимым образом перезаписывают их старые данные.

Я склонен считать, что это больше проблем, чем оно того стоит. Но другие могут взвесить эти вещи по-разному.

1 голос
/ 23 апреля 2010

Кажется слишком сложным.Хорошо расположенная кнопка (кнопки) Сохранить будет работать хорошо для всех пользователей и будет более удобной.Не говоря уже о том, что это сэкономит вам (кодирование) и вашему серверу (пропускную способность) большую работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...