Показать сообщение отдельно
  #9 (permalink)  
Старый 18.04.2015, 13:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Еще раз:
Ajax, это способ обмена данными с сервером без перезагрузки страницы, а методы $.ajax(), $.post(), $.get(), это методы (не все) jQuery для такого обмена. Можно использовать любой.

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

То есть фактически вы проделываете двойную работу. Если бы не использование Ajax, тогда да, на клиенте будет нужна проверка, иначе...
Хотя это не важно, важно, что сервер должен возвращать результат проверки - или все ОК, значит закрываем форму (данные уже на сервере) или переход (выполнять его должен клиент, не сервер), или же ошибки и их отображение.

То есть надо по всем полям сразу, иначе ведь будет тоже что и без Ajax, только теперь мыло проверили и ОК, а остальное может быть и не ОК, и что тогда?

А использовать методы указанные, ну для начала простой взять, к примеру $.post, так это просто:
$('body').on('submit', 'селектор формы', function() {
     $.post(url, $(this).serialize(), function(data) {
         //data содержит ответ сервера
     }, тип возращенных данных);
     return false;  
})

В общем отправить запрос не сложно.

PS.
$('body').on('submit', 'селектор формы' - это в случае, если форма добавляется на страницу динамически, иначе проще:
$('селектор формы').submit(function() {
//ajax запрос
}

Последний раз редактировалось laimas, 18.04.2015 в 13:28.
Ответить с цитированием