求教,关于res.redirect没有跳转的问题
发布于 8 年前 作者 StudentWan 6210 次浏览 来自 问答

表单的提交是下面的代码:

    $('#submit').on('click', function (evt) {
        var jsondata;
        var username = $("#username").val();
        var password = $("#password").val();
        var type = isRegister ? 'register' : login;
        if (type === 'register') {
            var passconfirm = $("#password-repeat").val();
            $.ajax({
                url: "/sign/signup",
                type: "post",
                data: {
                username: username,
                password: password,
                passconfirm: passconfirm
            }
            });
        }
    });

下面是跳转的逻辑代码:

    UserModel.create(user)
        .then(function(result) {
            user = {
                id: result,
                username: username
            };
            req.session.user = user;
            console.log(req.session.user);
            req.flash('success', '注册成功');
            res.redirect('/sign');
        }).catch(function(e) {
            if(e.message.match('ER_DUP_ENTRY')) {
                req.flash('error', '用户名已被占用');
                res.redirect('/sign');
            }
        });

屏幕快照 2016-12-28 下午1.48.57.png

可以看到拿到了值,但是我的页面跳转不过去,依然在第一个sign那里QAQ 屏幕快照 2016-12-28 下午1.49.50.png

6 回复
{{#if success}}

看你打出的 log,success 貌似是空字符串,这样的话 if 判断就是 false 了。

@xcatliu error是有的,然后我好像发现了问题所在QAQ我再发一下

求助啊T^T

@StudentWan 你既然是用 ajax post 过去的,不是应该由客户端控制跳转的吗?

@zbinlin 我似乎明白了。。。谢谢

这种 客户端 ajax post 做数据提交,服务器 接收数据然后返回给 客户端做处理…合情合理… 哪有只管 提交数据就不管了的

回到顶部