koa+mongo接收post请求后报错:Error: connect ECONNREFUSED 127.0.0.1:80
问题描述
当前端发送post请求后数据库成功写入数据,但是后端还是报错Error: connect ECONNREFUSED 127.0.0.1:80,并返回500。
问题出现的环境背景及自己尝试过哪些方法
后端是用koa搭建的,mongoose操作数据库。我查过好像是默认返回的端口是80但是80是不能访问的,所以在koa的app.js中加入了代理
var proxy = require('koa-better-http-proxy')
app.use(
proxy('/register', { target: 'http://127.0.0.1:3000', changeOrigin: true })
)
相关代码
//User.js
router.post('/register', async ctx => {
const { username, password, email } = ctx.request.body
let user = User.find({
username
})
if (user.length) {
ctx.body = {
code: -1,
msg: '已被注册'
}
}
let newUser = await User.create({
username,
password,
email
})
if (newUser) {
let res = await axios.post('/login', {
username,
password
})
if (res.data && res.data.code === 0) {
ctx.body = {
code: 0,
msg: '注册成功',
user: res.data.user
}
} else {
ctx.body = {
code: -1,
msg: 'error'
}
}
} else {
ctx.body = {
code: -1,
mgs: '注册失败'
}
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现是跳转登陆后权限认证有问题,在koa-passport那块
ctx.login 会报错,ctx中找不到login这个方法
已经解决,中间件调用顺序错了
应该放在 router 前面