首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web 2登录和注册操作,JavaScript问题

Web 2登录和注册操作,JavaScript问题
EN

Stack Overflow用户
提问于 2017-01-01 21:03:17
回答 2查看 566关注 0票数 0

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

这是我的代码:

代码语言: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>

代码语言:javascript
复制
@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>
}

更新:这里的是登录过程的代码:

代码语言:javascript
复制
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控制台代码:

代码语言:javascript
复制
(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

但是注册通行证和我在数据库中有了新记录。有人能解释一下这是什么意思吗?

EN

回答 2

Stack Overflow用户

发布于 2017-01-01 21:47:40

这样做吧:

代码语言:javascript
复制
$.ajax({
  type: 'POST',
  url: '/api/Account/Register',
  contentType: 'application/json; charset=utf-8',
  data: JSON.stringify(data)
  success: function(html){
    alert("Registration  success");
  }
});
票数 1
EN

Stack Overflow用户

发布于 2018-05-26 09:16:57

嗯,我发现我使用了submit类型按钮,这是第一个错误-如果我想使用jquery操作请求,我使用type=“按钮”代替submit。另一个问题是,在正确的情况下,没有定义json属性:

代码语言:javascript
复制
var data = {
            email: $('#email').val(),
            password: $('#password').val(),
            confirmPassword: $('#confirmpassword').val()
        };

这将是正确的

现在关于控制台中的错误:更正就像@Mustapha回答

例如:

代码语言:javascript
复制
$.ajax({
type: "GET",
url: "/api/rooms",
success: function (rooms) { 

}

});

下面是固定的ajax代码:

代码语言:javascript
复制
$.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);
    },
    error: function (data) {
        alert('Error on login');
    });
});

这里是,但我已经用角完成了:) )谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41419022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档