jquery - 如果数据库中存在记录,则执行条件
问题描述
我的 SQL Server 数据库中有一个包含列的表
loginID, loginUser, loginPassword
使用实体框架,我想检查给定的记录是否存在。我正在使用带有 AJAX 的 ASP.NET MVC 将数据发送到我的控制器方法。
$("#loginBtn").click(function () {
var loginUserRequest = $("#email").val();
var loginPassRequest = $("#pwd").val();
var loginTheUser = {
loginID: 1,
loginUser: loginUserRequest,
loginPassword: loginPassRequest
}
$.ajax({
type: "POST",
url: "Home/LoginUser",
data: loginTheUser
});
});
[HttpPost]
public ActionResult LoginUser(loginTable loginData)
{
WebEntities entit = new WebEntities();
var context = entit.loginTables.FirstOrDefault(lu => lu.loginUser == loginData.loginUser && lu.loginPassword == loginData.loginPassword);
if (context == null)
{
return View();
}
else
{
return RedirectToAction("Contact", "Home");
}
}
<form id="loginForm">
<div class="form-group">
<label>Username:</label>
<input type="text" class="form-control" id="email">
</div>
<div class="form-group">
<label>Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<button id="loginBtn" type="submit" class="btn btn-default">Submit</button>
</form>
解决方案
我假设问题是你的return view
和redirectToAction
不工作?您正在进行 Ajax 调用,但没有正确处理返回给 ajax 调用的结果。
尝试这样的事情。 我没有测试它,你可能不得不玩它
[HttpPost]
public ActionResult LoginUser(loginTable loginData)
{
WebEntities entit = new WebEntities();
var context = entit.loginTables.FirstOrDefault(lu => lu.loginUser == loginData.loginUser && lu.loginPassword == loginData.loginPassword);
if (context == null)
{
return new HttpStatusCodeResult(401, "Unauthorized!");
}
else
{
var url = Url.Action("Contact", "Home")
return Json(url);
}
}
$.ajax({
type: "POST",
url: "Home/LoginUser",
data: loginTheUser,
success: function(response){
window.location.replace(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
推荐阅读
- c# - 如果该表在 dotnet core web API 中没有请求的数据,如何查询另一个表
- math - 为什么 00000000 ^ 01000010 = 01000010?不应该是0吗?
- javascript - webpack 开发服务器默认设置更改
- azure-cosmosdb - 将 RU 增加 5 分钟时在 CosmosDb 中计费
- http - 为什么选择 FastCGI 而不是带有编译语言或守护进程的 CGI
- html5-canvas - 如何在 Pixi.js 中像 CSS 中的 `clip-path` 一样剪辑和屏蔽精灵
- java - 错误:无法找到或加载运行 Hadoop 的主类
- javascript - 是否有一种简单的方法可以将除 e.target.name 之外的所有其他状态设置为 false?
- java - 我想使用 stringtokenizer 将字符串存储到对象用户数组中,但收到错误消息
- python - opencv 3.4 中 cv.Get2D 的替代品是什么?