12

我似乎无法弄清楚为什么当我使用 axios.post 方法提供数据主体时,它在我的服务器上被捕获为未定义。

我有以下带有代码片段的文件:

应用程序.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 数据?我错过了什么吗?

成功返回正常,但似乎在请求中的任何地方都找不到用户名/密码

4

3 回答 3

18

我没有足够的声誉来评论 Jim 的上一篇文章,但我遇到了同样的问题,并且解决了它!

澄清一下:在我的 server.js 文件中,我在这些之前需要我的路由:

这些首先:

app.use(express.urlencoded({ extended: true }));
app.use(express.json());

那么这个:

app.use(routes);
于 2019-02-06T02:56:26.183 回答
6

添加以下解析器来处理请求的数据

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
于 2018-05-05T16:36:16.357 回答
4

原来我所有的中间件都安装错了;在使用任何中间件之前,我试图在我的 server.js 文件中处理 POST。

于 2016-06-01T12:28:09.877 回答