在用户成功登录后,我试图重定向到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});
现在,单击“提交”时,用户已成功登录,但没有任何反应,即未将用户重定向到其仪表板。
答案 0 :(得分:0)
您可以使用:
window.location.href = '/dashboard'
this.props.history.push('/dashboard')
将其添加到分配给success
属性的函数中