Плюсы и минусы проверки формы Ajax - PullRequest
1 голос
/ 12 марта 2011

Я вижу, что проверка форм с использованием Ajax может быть очень полезной, чтобы избежать дублирования кода.И прежде чем приступить к его реализации, мне интересно, есть ли какие-либо недостатки этого метода по сравнению с простой проверкой JavaScript.Я вижу только пару аргументов, но я думаю, что они довольно слабы, чтобы принять их во внимание:

  1. Очевидно, что ajax увеличит нагрузку на сервер, но это только 5-6 соединений на форму, что не должнобыть узким местом в производительности.
  2. Также я вижу, что проверка js может работать в автономном режиме, но, поскольку нам нужно отправить форму в конце, она все равно не сможет работать без подключения к Интернету.
  3. Скорость равнатакже не проблема, поскольку в настоящее время широкополосный доступ доступен почти везде.

Есть ли какие-либо другие аргументы, которые я пропускаю?

Ответы [ 3 ]

2 голосов
/ 12 марта 2011

Проверка Ajax хороша с точки зрения взаимодействия с пользователем, потому что вы получаете немедленную обратную связь.

Одна вещь, которую нужно иметь в виду, заключается в том, что даже если вы проверяете форму с помощью ajax, вам все равно необходимо повторнопроверьте отправленные значения, как только они попадут на сервер, чтобы предотвратить эксплойты безопасности, поскольку злоумышленник может просто использовать что-то вроде curl для отправки произвольных значений.

1 голос
/ 12 марта 2011

Чтобы занять противоположную позицию:

1) 5 или 6 запросов - это не страшно - но в 5 или 6 раз больше соединений на пользователя для формы - то есть.Если вы говорите о том, чтобы ваш сервер использовал от 100 до 600 тыс. Подключений в день, лучше подумайте об этом.

3) Широкополосная связь есть везде, но медленные и ненадежные беспроводные соединения тоже есть.В зависимости от того, как вы ее реализуете, форма может показаться очень неуклюжей.

И вам определенно нужно повторно проверить на сервере - но это то, что вы говорите: повторное использование той логики, которая есть на сервере, в любом случае,через ajax, вместо того, чтобы реплицировать его на клиенте с JS.

Просто примечание: некоторые фреймворки позволяют объявлять валидацию в одном месте, а затем генерировать Javascript (не-ajax IIRC) и на стороне серверадля тебя.Я знаю, JSF (Java Server Faces имеет это), и я думаю, что .net также.

1 голос
/ 12 марта 2011

Если все, что вы спрашиваете, это

Я просто спрашиваю, проверю ли я форму с помощью javascript вместо ajax, получу ли я что-то, чего не могу сделать с ajax

тогда нет.В конечном итоге - вы получаете жест для пользователя при его неправильном вводе.

Однако я не буду так легко игнорировать загрузку сервера.

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

Кроме того, помните, что AJAX также является javascript, так что вы от него не избавитесь полностью.

И последнее - JavaScript с обходом сервера (а AJAX - обход сервера) не будет таким же быстрым, как простой JavaScript.

Однако - да.это дублирование кода.Это ваша профессия, и любое решение, которое вы принимаете, является действительным, если ваш проект может его принять.

Редактировать: исправлена ​​опечатка + переход на вики сообщества

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