我的问题是我有一个登录页面,它非常简单,我收到了用户名和密码。我在服务器端控制它。我正在使用javascript将数据提供给Controller。但问题是它总是把我送到同一页面。我总是输入userName和密码,但数据即使正确,也没有重定向。
我的观看代码,
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Yelken Otel Rezervasyon Kontrol Sistemi</title>
<script type="text/javascript">
function Login() {
var userName = document.getElementById("userName").value;
var password = document.getElementById("password").value;
$.ajax({
type: 'POST',
url: '/RezervasyonTalepleri/Giris',
dataType: 'json',
data: {
'userName': userName,
'password': password
},
success: function (msg) {
location.href = '/RezervasyonTalepleri/Denetim';
}
});
};
</script>
</head>
<body>
<div class="login-page">
<div class="form">
<form class="login-form">
<input id="userName" type="text" placeholder="username" />
<input id="password" type="password" placeholder="password" />
<button id="btnLogin" onclick="Login()" >login</button>
</form>
</div>
</div>
</body>
</html>
我的控制器代码,
[HttpGet]
public ActionResult Giris()
{
return View();
}
[HttpPost]
public ActionResult Giris(string userName, string password)
{
if(userName=="admin" && password == "123")
{
return Json(new { status = "success" });
}
else
{
return JavaScript("Yanlış Kullanıcı Adı veya Şifre Girdiniz.");
}
}
我希望当我输入正确的用户名和密码时,它应该将我重定向到/RezervasyonTalepleri/Denetim
,但它总是将我重定向到/RezervasyonTalepleri/Giris
。
答案 0 :(得分:0)
你需要jQuery库,例如包括它:
@Email
答案 1 :(得分:0)
如果我理解你的问题,
调用Giris Action成功时调用success
函数,而不是以status
返回成功时调用。{/ p>
在您的示例中,您需要检查msg.status
是否等于success
并且您已准备就绪。
所以你的success
函数将是
success: function (msg) {
if (msg.status === 'success')
{
location.href = '/RezervasyonTalepleri/Denetim';
}
}