Вы могли следовать за знатоком стандартное расположение проекта . Вы не должны на самом деле использовать знатока, но это сделало бы переход легче в будущем (при необходимости). Плюс, другие разработчики привыкнут видеть, что расположение, так как много проектов с открытым исходным кодом размечаются этот путь,
remote: "/some/remote/path"
По этому пути будет передано значение поля в $ _GET. итак ... в вашем случае на самом деле вызывается следующее:
/some/remote/path?email=someemailuriencoded
Код на стороне сервера должен возвращать только текст true или false.
Затем соответствующее сообщение также называется удаленным.
remote: "The corresponding email already exists"
Мой код для чего-то похожего:
$("#password_reset").validate({
rules: {
email: { required: true, email: true, minlength: 6, remote: "/ajax/password/check_email" }
},
messages: {
email: { required: "Please enter a valid email address", minlength: "Please enter a valid email address", email: "Please enter a valid email address", remote: "This email is not registered" }
},
onkeyup: false,
onblur: true
});
Соответствующий код на стороне сервера в php:
$email_exists = $db->prows('SELECT user_id FROM users WHERE email = ? LIMIT 1', 's' , $_GET['email'] );
if ( $email_exists ) { echo 'true'; } else { echo 'false'; }
exit;
Конечно, здесь используются мои абстракции базы данных, но вы его понимаете.
Какой у вас язык сервера? PHP или ASP?
Это часть jQuery:
$.ajax({
type: "POST",
url: "YourWebserviceOrWhatEver",
data: "{'Email':'your@ema.il'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if(msg.EmailExists){
//Email exists
alert("This email already exists. Please select other");
}
else {
//Email doesn't exist yet
doSomething();
}
}
});