nodejs+ajax验证登录没响应
发布于 8 年前 作者 Nomadcheng 2788 次浏览 来自 问答

ajax代码

  var myForm = $('.confirm1').click(function() {
        $.ajax({
            type: 'POST',
            url: '/user/login',
            dataType: 'json',
            data: {
                mobileNum: $("input[name='username']").val(),
                password: $("input[name='password']").val()
            },
            success: function(res) {
                if (!res.results) {
                    alert('用户不存在或者密码错误,请重新登录');
                } else {
                    alert('登录成功');
                    res.url = '/';
                }
                location = res.url;
            }
        })
    });

后台代码

exports.doLogin = function(req, res) {
    var mobileNum = req.body.mobileNum;
    var password = req.body.password;
    User.findOne({
        mobileNum: mobileNum
    }, function(err, user) {
        if (err) {
            console.log(err);
        }
        if (!user) {
            res.json({
                results: 0
            });
            return;
        }

        user.comparePassword(password, function(err, isMatch) {
            if (err) {
                console.log(err);
            }
            if (!isMatch) {
                res.json({
                    results: 0
                })
                return;
            }
            req.session.user = user;
            res.json({
                results: 1
            })
        })
    })
}

为什么后台可以接受到数据后,点击第一次登录没有弹出框,session也没有出现在前端页面,只有点击第二次登录才会提示登录成功?

或者点击一次登录然后刷新一下页面酒可以看到登录的session信息,请问这是什么原因?

求大神解释

2 回复

求大神赐教,晚上要交课设了

求助啊啊啊啊

回到顶部