今天,我已经开始开发我的第一个Web应用程序。我决定使用Node JS和MySQL(以及Vue JS)。我正在尝试创建用于登录/注册的脚本。寄存器工作良好。我在邮递员中测试了该请求,并且一切正常。问题来自登录。我与邮递员发送的请求花费的时间太长,我不知道为什么。
那是我的server.js文件:
var express = require('express')
var cors = require('cors')
var bodyParser = require('body-parser')
var app = express()
var port = process.env.PORT || 5000
app.use(bodyParser.json())
app.use(cors())
app.use(
bodyParser.urlencoded({
extended: false
})
)
var Users = require('./routes/Users')
app.use('/users', Users)
app.listen(port, () => {
console.log('Server is running on port: ' + port)
})
登录路径:
users.post('/login', (req, res) => {
User.findOne({
where: {
email: req.body.email
}
})
.then(user => {
if (user) {
if (bcrypt.compareSync(req.body.password, user.password)) {
let token = jwt.sign(user.dataValues, process.env.SECRET_KEY, {
expiresIn: 1440
})
res.send(token)
}
} else {
res.status(400).json({ error: 'User does not exist' })
}
})
.catch(err => {
res.status(400).json({ error: err })
})
})
我希望请求发送正确的响应。 执行的mysql似乎还可以:
Executing (default): SELECT `id`, `first_name`, `last_name`, `email`, `password`, `created` FROM `users` AS `user` WHERE `user`.`email` = 'test@test.com' LIMIT 1;
但是我不知道为什么要花这么长时间。而且在1-2分钟后,我收到了这个消息:
Could not get any response
There was an error connecting to http://localhost:5000/users/login.