axios 参数为payload的解决方法

1. 添加头部headers

headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
axios.post(url, {a: 1, b:2}, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
}).then(response => response.data)
.then(err => {
console.log(err);
});

2. 在Browser环境下

2.1 利用qs.stringify()处理参数

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 });
<script src="/your-path/qs.min.js"></script>
axios({
url: url,
method: 'post',
data: Qs.stringify(params)
})
.then(function (resp) {
//
})
.catch(function (err) {
//
})

2.2 利用 URLSearchParams API 处理post参数

const params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);

查看 URLSearchParams 兼容性,还可以使用pollify

3. 在node环境下

可以使用querystring 模块

const querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));

或者使用qs.stringify(),qs同样可以在node中使用

4. 参考下面链接
https://github.com/mzabriskie/axios/blob/master/README.md#using-applicationx-www-form-urlencoded-format

上一篇:Redis订阅广播实现多级缓存


下一篇:第一个jquery程序