【发布时间】:2016-09-29 18:47:55
【问题描述】:
我似乎无法弄清楚为什么当我使用 axios.post 方法提供数据主体时,它在我的服务器上被捕获为未定义。
我有以下带有sn-ps代码的文件:
app.js:
auth(user, pass){
return axios.post('http://localhost:3000/auth', {
username: user,
password: pass
})
}
server.js:
app.post('/auth', (req, res) => {
console.log(req.body) //undefined
res.end("Success")
})
我如何使用 axios 正确处理 POST 数据?我错过了什么吗?
成功返回正常,但用户名/密码似乎在请求中的任何地方都找不到
【问题讨论】:
-
您是否在任何请求处理程序处理 xhr 请求之前使用 express 中的中间件?喜欢:
app.use('/*', function(req,res,next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Credentials", "true"); res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); res.header("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"); next(); }); -
啊,是的,它似乎使用了 webpack-dev-middleware 和 webpack-hot-middleware。虽然我不相信这些会影响 POST 处理。我可能需要进一步挖掘,因为我使用的是boilerplate
-
其实它好像也在使用bodyParser来处理POST请求。
-
原来我所有的中间件都安装错了;在使用任何中间件之前,我试图在我的 server.js 文件中处理 POST。感谢您的中间件提示!你就是炸弹!
标签: javascript express axios