У меня есть метод AJAX, чтобы сообщить пользователю, доступно ли электронное письмо при регистрации.Метод JQuery AJAX выполняет как «успех», так и «отказ»
$('#mainArea_txtEmail').keyup(function (e) {
var inputemail = $(this).val();
if (inputemail.length > 5)
{
$.ajax({
type: "POST",
url: "Default.aspx/isEmailAvailable",
data: '{email: "' + inputemail + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: alert("available"),
failure: alert("unavailable")
});
}
});
Когда пользователь вводит в электронной почте, является ли он доступен или нет, браузер отображает предупреждение успеха, а затем предупреждение отказов каждый раз.
Вот метод C#:
[System.Web.Services.WebMethod]
public static string isEmailAvailable(string email)
{
BasePage page = new BasePage();
string returnvalue;
if (page.db.UserGet(email) == null)
{
returnvalue = "true";
}
else
{
returnvalue = "false";
}
return returnvalue;
}
Метод db.UserGet
будет пытаться найти базу данных запись пользователя с адресом электронной почты, соответствующего параметра email
. Если он есть, то заполняется экземпляр класса User
, а page.db.UserGet
не имеет значения NULL, то есть электронное письмо берется. Если он по-прежнему равен нулю, то не было найдено ни одного пользователя с этим электронным письмом, и письмо будет доступно.
Что я здесь делаю неправильно?
Я следовал этому учебнику (http://www.c-sharpcorner.com/UploadFile/20abe2/how-to-check-user-name-or-email-availability-using-Asp-Net)
вы не можете передать 'alert' в качестве ссылки обратного вызова – charlietfl