В этом коде AJAX не может ответить.Если он не запускает код «где r.Email == lsEmail && r.Password == lsPassword», AJAX успешно работает.
Если добавить код «где r.Email == lsEmail &&r.Password == lsPassword ", AJAX" .done (function (data) ..) "не может принять сообщение об успешном завершении.
Проблема должна быть в LINQ Где, это очень странно.AJAX не работает с LINQ?или это ошибка Microsoft?
$('#login-submit').click(function() {
var lsEmail = $("#email").val().trim();
var lsPassword = $("#password").val().trim();
if (lsEmail == "") {
alert("Email Cannot be blank!");
return false;
}
if (lsPassword == "") {
alert("Email Cannot be blank!");
return false;
}
var data = {
lsEmail: lsEmail,
lsPassword: lsPassword
};
var url = "/Home/ClientLogin";
$.ajax({
url: url,
type: 'POST',
data: data
}).done(function(data) {
if (data == "1") {
window.location.href = "/Home/Index";
} else if (data == "2") {
window.location.href = "/Home/Error";
}
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.status);
alert(textStatus);
alert(errorThrown);
});
});
public ActionResult ClientLogin(string lsEmail, string lsPassword)
{
int liNum;
liNum = 0;
try
{
var lzClientUser = from r in db.ClientUser
where r.Email == lsEmail && r.Password == lsPassword
select r;
var lzClientUserNum = lzClientUser.ToList();
liNum = lzClientUserNum.Count();
}
catch (Exception ex)
{
Console.WriteLine("\nErrMsg:{0}\n", ex.Message);
Console.WriteLine(ex.ToString());
}
// Login Success
if (liNum > 0)
{
Session["LoginEMail"] = lsEmail;
return Content("1");
}
else
{
return Content("2");
}
}