我一次又一次地得到HttpGet

时间:2016-06-18 23:39:12

标签: javascript c# html asp.net-mvc view

我的问题是我有一个登录页面,它非常简单,我收到了用户名和密码。我在服务器端控制它。我正在使用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

2 个答案:

答案 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';
                }
            }