成功登录后重定向到用户仪表板

时间:2019-05-31 18:26:57

标签: jquery html node.js ajax authentication

在用户成功登录后,我试图重定向到user-dash.html页面。

我已经尝试过使用res.redirect(),并且在将标头发送到客户端后出现未设置标头的错误。

public.index.js:

// when the login from is submitted:

    $("#loginForm").submit(function(e) {
        e.preventDefault();
        let username = $("#GET-username").val();
        let password = $("#GET-password").val();
        let userInfo = {username, password};
        let settings = {
            url:"/auth/login",
            type: 'POST',
            contentType: 'application/json',
            data: JSON.stringify(userInfo),
            success: function(data) {
                console.log('successfully logged in');
                localStorage.setItem("authToken", data.authToken);
                localStorage.setItem("currentUser", username);
                user = username;
                console.log(data);
                },
            error: function(err) {
                console.log(err);
            }
        };
        $.ajax(settings);
    })

auth / router.js:

// The user provides a username and password to login
router.post('/login', localAuth, (req, res) => {
  const authToken = createAuthToken(req.user.serialize());
  res.json({authToken});
});

const jwtAuth = passport.authenticate('jwt', {session: false});

现在,单击“提交”时,用户已成功登录,但没有任何反应,即未将用户重定向到其仪表板。

1 个答案:

答案 0 :(得分:0)

您可以使用:

  • window.location.href = '/dashboard'
  • 如果您使用的是React,则可以使用:
    this.props.history.push('/dashboard')

将其添加到分配给success属性的函数中

相关问题