2016-05-31 146 views
1

我似乎无法弄清楚为什么当我做一个提供数据体的axios.post方法时,它会被捕获为未定义在我的服务器上。处理POST请求与axios和快递

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

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") 
}) 

我我怎么能妥善处理POST数据使用axios?我错过了什么吗?

成功返回罚款,但似乎用户名/密码不能被在REQ随处可见

+0

你是否在任何请求处理程序处理xhr请求之前使用中间件? 像: 'app.use( '/ *',函数(REQ,RES,下一个){ res.header( “访问控制允许来源”, “*”); res.header( “Access-Control-Allow-Credentials”,“true”); res.header(“Access-Control-Allow-Methods”,“GET,HEAD,OPTIONS,POST,PUT”); res.header -Control-Allow-Headers“,”Access-Control-Allow-Headers,Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers“); next(); });' –

+0

啊,是的,它似乎使用了webpack-dev-middleware和webpack-hot-middleware。虽然我不相信这些会影响POST处理。我可能需要深入挖掘,因为我使用[样板](https://github.com/choonkending/react-webpack-node) –

+0

实际上,它似乎也使用bodyParser来处理POST请求。 –

回答

2

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

+0

我有类似的问题,但不明白你是如何解决它的。 –

+2

对不起,迟到的回应。对于我的情况,我必须确保在建立任何路由之前快递处理所有中间件。因此,确保您在运行任何GET或POST路由之前设置所有的app.use([middleware])配置 –