首先,我想提一下,我对 React 和 javascript 总体来说是全新的,我经历了很多类似的问题线程,但是没有一个解决方案似乎有帮助,因为它们大多会产生更多错误。
我正在开发的项目非常简单,我想要做的是:当用户在登录表单上按“登录”时调用以下函数,我将插入的用户名和密码保存到状态并将其发送到服务器进行验证。
我使用react-router-dom进行路由,并且我让你只能在登录后访问该页面,否则它会将你重定向到登录页面。所以这里发生的情况是,第一次按下时,重定向不会发生,页面保持登录状态。
我知道这可能是一种非常愚蠢的登录系统方法, 但也许有办法让它发挥作用?
感谢您的宝贵时间。
onSubmit(e) {
e.preventDefault();
console.log(this.state);
var self = this;
request.post('/user/login')
.send(this.state)
.end(function(err, res){
console.log(res.body);
if (res.body.isValid) {
self.props.history.push('/');
}
});
}
最佳答案
简单地重定向??
onSubmit(e) {
e.preventDefault();
console.log(this.state);
var self = this;
request.post('/user/login')
.send(this.state)
.end(function(err, res){
console.log(res.body);
if (res.body.isValid) {
self.props.history.push('/');
}else{
window.location.href="/login";
}
});
}
关于javascript - 如何让重定向等待服务器的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43820643/