axios如何更改header的数据格式
时间: 2023-06-12 18:08:22 浏览: 104
Axios可以通过设置`headers`属性来更改请求头中的数据格式。常见的数据格式有`application/json`和`application/x-www-form-urlencoded`,下面分别介绍如何更改这两种格式的请求头数据。
1. 更改为`application/json`格式
```javascript
axios.post('/api/data', {
data: {
name: 'John',
age: 30
}
}, {
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
console.log(response);
}).catch(error => {
console.error(error);
});
```
在请求中设置`Content-Type`为`application/json`即可将数据格式更改为JSON格式。
2. 更改为`application/x-www-form-urlencoded`格式
```javascript
axios.post('/api/data', {
name: 'John',
age: 30
}, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
transformRequest: [function (data) {
let ret = '';
for (let key in data) {
ret += encodeURIComponent(key) + '=' + encodeURIComponent(data[key]) + '&';
}
return ret;
}]
}).then(response => {
console.log(response);
}).catch(error => {
console.error(error);
});
```
在请求中设置`Content-Type`为`application/x-www-form-urlencoded`,同时通过`transformRequest`函数将数据格式转换为该格式。在`transformRequest`函数中,将数据对象中的每个属性以`key=value&`的形式连接起来,并使用`encodeURIComponent`函数对属性名和属性值进行编码,最后返回连接后的字符串。
阅读全文