1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Axios Post 请求后端接收不到数据

Axios Post 请求后端接收不到数据

时间:2018-08-02 15:00:40

相关推荐

Axios Post 请求后端接收不到数据

最近做一个小项目,前端使用 axios 请求数据,后端使用 node 写接口。调试时发现后端取不到请求的参数,解决时浪费了很多时间,这里贴出来解决方法。

项目地址在这里:html-edit-npm

可以查看相关实现

前端请求,有两个地方需要注意。

首先是需要使用URLSearchParams处理 Post 参数。

第二个地方是,Content-Type的值必须为application/x-www-form-urlencoded,否则会出现问题。

add () {let params = new URLSearchParams()params.append('html', JSON.stringify(this.html))// 当 http 请求头参数不对时需设置 Content-Typeaxios.post('/api/add', params, {headers: { 'Content-Type': 'application/x-www-form-urlencoded' }}).then((res) => res).catch(err => console.log(err))}

这时候发起请求,发现请求是没有问题的

参数也是正确的

但是后端却还是没有获取到参数

apiRoutes.post('/add', (req, res) => {// 获取 post 请求的参数const query = req.bodyconsole.log('body', req.body)return res.json({code: 0,message: "success"})})

这里后端也需要做一下处理才能接收到参数

const bodyParser = require('body-parser')app.use(bodyParser.urlencoded({extended: false}))

然后请求就可以正确接收到参数了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。