Ajax 无法用 Entity framework linq 来响应



在此代码中,AJAX 无法响应。如果它没有运行代码"where are.Email == lsEmail && r.Password == lsPassword",则 AJAX 运行成功。

如果添加代码"where are.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");
}
}

为了更好地理解 ajax 响应中的操作结果,您需要返回 json 结果而不是内容结果。

最新更新