Reactjs 如何从express后端服务器返回用户id
正在处理股票应用程序的登录。当用户键入他们的电子邮件和密码时,当前在我的服务器中硬编码的用户ID将返回到控制台。我将使用该ID将其保存到本地存储,以保持会话活动并允许访问我的受保护路由。我无法使用当前逻辑返回用户ID 后端Reactjs 如何从express后端服务器返回用户id,reactjs,express,Reactjs,Express,正在处理股票应用程序的登录。当用户键入他们的电子邮件和密码时,当前在我的服务器中硬编码的用户ID将返回到控制台。我将使用该ID将其保存到本地存储,以保持会话活动并允许访问我的受保护路由。我无法使用当前逻辑返回用户ID 后端 let users = [ { id: 1, userName: 'user1', email: 'abc@email.com', password: 'abc' }, {
let users = [
{
id: 1,
userName: 'user1',
email: 'abc@email.com',
password: 'abc'
},
{
id: 2,
userName: 'user2',
email: '123@email.com',
password: '123'
}
]
app.post('/api/auth', (req, res) => {
let userResult = users.find(user => user.email === req.body.email);
if (userResult) {
if (userResult.password === req.body.password) {
res.status(200).send({
message: true,
user: users.id
})
} else {
res.status(200).send({
message: false
})
}
} else {
res.status(200).send({
message: false
})
}
});
前端
handleSubmit = e => {
e.preventDefault()
const request = {
email: this.state.userEmail,
password: this.state.userPassword
}
if (this.state.userEmail === '' || this.state.userPassword === '') {
alert('Enter Username and Password')
} else {
this.setState({userEmail: '', userPassword: ''})
}
axios.post(`http://localhost:3000/api/auth`, request)
.then(res => {
if (res.data.message) {
console.log(res.data.user)
//add user ID to local storage.
//this.props.history.push('/dashboard') Re-directs to dashboard page!!!
this.setState({isAuth: true})
} else {
alert('Invalid username or password')
this.setState({isAuth: false, userEmail: '', userPassword: ''})
}
console.log(res.data.message)
})
.catch(err => {
console.log(err)
})
}
如果在读了几遍之后,您返回的是users.id而不是userResult.id,则会发现
if(userResult.password==req.body.password){
资源状态(200)。发送({
信息:没错,
用户:userResult.id
})
}
如果在阅读了几遍之后,您返回的是users.id而不是userResult.id,则会发现
if(userResult.password==req.body.password){
资源状态(200)。发送({
信息:没错,
用户:userResult.id
})
}
post调用返回的是什么?如果用户存在,则消息在控制台中返回true。如果用户存在,则返回res.data.user current;如果用户存在,则消息在控制台中返回true。如果用户存在,则返回res.data.user current;如果用户存在,则返回res.data.user,则消息在控制台中返回true未定义