javascript - Web Api 2 登录和注册操作、JavaScript 问题

标签 javascript asp.net-mvc asp.net-web-api2

今天我正在尝试 Web Api 2 登录和注册操作。我正在使用 Visual Studio 2015 中的标准模板。我在 Web 端创建了 JavaScript 客户端,但我没有看到警报,并且注册不起作用。

这是我的代码:

<div class="form-group">
<div class="input-group">
    <input type="email" class="form-control" placeholder="Email" id="email">
</div>
</div>
<div class="form-group">
<div class="input-group">
    <input type="password" class="form-control" placeholder="password" id="password">
</div>
</div>
<div class="form-group">
<div class="input-group">
    <input type="password" class="form-control" placeholder="Password again" id="confirmpassword">
</div>
</div>
<div class="form-group">
<div class="input-group">
    <input type="submit" id="submit" value="Register" class="btn btn-info">
</div>

@section scripts{
@Scripts.Render("~/bundles/jqueryval")
<script>
    $(function () {
        $('#submit').click(function (e) {
            e.preventDefault();
            var data = {
                Email: $('#email').val(),
                Password: $('#password').val(),
                ConfirmPassword: $('#confirmpassword').val()
            };

            $.ajax({
                type: 'POST',
                url: '/api/Account/Register',
                contentType: 'application/json; charset=utf-8',
                data: JSON.stringify(data)
            }).success(function (data) {
                alert("Registration  success");

            }).fail(function (data) {
                alert("Error message");
            });
        });
    })
</script>
}

更新: 以下是登录过程的代码:

div class="userInfo" style="display:none;">
<p>You are loged in as: <span class="userName"></span></p>
<input type="button" value="Log out" id="logOut" />
 </div>
 <div class="loginForm">
<h3>Log in</h3>
<label>Enter email</label><br />
<input type="email" id="emailLogin" /> <br /><br />
<label>Password</label><br />
<input type="password" id="passwordLogin" /><br /><br />
<input type="submit" id="submitLogin" value="Log in" />
</div>
@section scripts{
<script type="text/javascript">
$(function () {
    //...........................

    var tokenKey = "tokenInfo";
    $('#submitLogin').click(function (e) {
        e.preventDefault();
        var loginData = {
            grant_type: 'password',
            username: $('#emailLogin').val(),
            password: $('#passwordLogin').val()
        };

        $.ajax({
            type: 'POST',
            url: '/Token',
            data: loginData
        }).success(function (data) {
            $('.userName').text(data.userName);
            $('.userInfo').css('display', 'block');
            $('.loginForm').css('display', 'none');
            // store sessionStorage auth token
            sessionStorage.setItem(tokenKey, data.access_token);
            console.log(data.access_token);
        }).fail(function (data) {
            alert('Error on login');
        });
    });

    $('#logOut').click(function (e) {
        e.preventDefault();
        sessionStorage.removeItem(tokenKey);
    });
})
</script>
}

更新2 注册时,F12 控制台代码如下:

(index):88 Uncaught TypeError: $.ajax(...).success is not a function
at HTMLInputElement.<anonymous> ((index):88)
at HTMLInputElement.dispatch (jquery-3.1.1.js:5201)
at HTMLInputElement.elemData.handle (jquery-3.1.1.js:5009)
(anonymous) @ (index):88
dispatch @ jquery-3.1.1.js:5201
elemData.handle @ jquery-3.1.1.js:5009

但是注册通过并且我在数据库中有新记录。谁能解释一下这是什么意思?

最佳答案

这样做:

$.ajax({
  type: 'POST',
  url: '/api/Account/Register',
  contentType: 'application/json; charset=utf-8',
  data: JSON.stringify(data)
  success: function(html){
    alert("Registration  success");
  }
});

关于javascript - Web Api 2 登录和注册操作、JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41419022/

相关文章:

javascript - 无法在 jQuery-UI 选项卡中显示 Google DFP 广告

javascript - 流行的邮件网站如何处理服务器端脚本?

c# - 从 View 模型中缩短查询字符串名称

jquery - 如何使用 Jquery 或其他简单操作在创建 View 上隐藏或显示表单组。 ASP.NET MVC 5

javascript - Web API 2.0 上的 COR 请求

asp.net-mvc-5 - Web API 和 MVC 5 Controller 上的 CORS : Upload images with fetch and FormData

c# - 在反序列化 Web API 2 C# 中删除 NaN 值

javascript - 如何在 Google map 信息窗口中使用 jQuery 或 JavaScript?

javascript - 外部 Javascript 函数不更新 Backbone JS 中的 html div

asp.net-mvc - MVC 4 中的角色何时初始化?不是在成功登录后