122 lines
2.1 KiB
Markdown
122 lines
2.1 KiB
Markdown
---
|
|
title: 转换数据
|
|
---
|
|
|
|
# {{ $frontmatter.title }}
|
|
|
|
::: tip {{ $frontmatter.title }}
|
|
请求发送前转换请求数据,响应到达 `then` 之前转换响应数据。
|
|
:::
|
|
|
|
## 转换请求数据
|
|
|
|
可以转换请求数据,只对允许携带请求数据的请求方法生效,允许携带请求数据的方法有:`POST`、`PUT`、`PATCH`。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios('test', {
|
|
method: 'POST',
|
|
transformRequest(data, headers) {
|
|
return JSON.stringify(data);
|
|
},
|
|
})
|
|
.then((response) => {
|
|
// 成功之后做些什么
|
|
})
|
|
.catch((error) => {
|
|
// 失败之后做些什么
|
|
});
|
|
```
|
|
|
|
也支持多次转换。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios('test', {
|
|
method: 'POST',
|
|
transformRequest: [
|
|
(data, headers) => {
|
|
return JSON.stringify(data);
|
|
},
|
|
(data, headers) => {
|
|
return encodeURIComponent(data);
|
|
},
|
|
],
|
|
})
|
|
.then((response) => {
|
|
// 成功之后做些什么
|
|
})
|
|
.catch((error) => {
|
|
// 失败之后做些什么
|
|
});
|
|
```
|
|
|
|
## 全局转换请求数据
|
|
|
|
可以设置全局转换请求数据,对每个请求生效。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios.defaults.transformRequest = (data, headers) => {
|
|
return JSON.stringify(data);
|
|
};
|
|
```
|
|
|
|
## 转换响应数据
|
|
|
|
可以转换响应数据。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios('test', {
|
|
transformResponse(data, headers) {
|
|
return JSON.parse(data);
|
|
},
|
|
})
|
|
.then((response) => {
|
|
// 成功之后做些什么
|
|
})
|
|
.catch((error) => {
|
|
// 失败之后做些什么
|
|
});
|
|
```
|
|
|
|
也支持多次转换。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios('test', {
|
|
transformResponse: [
|
|
(data, headers) => {
|
|
return decodeURIComponent(data);
|
|
},
|
|
(data, headers) => {
|
|
return JSON.parse(data);
|
|
},
|
|
],
|
|
})
|
|
.then((response) => {
|
|
// 成功之后做些什么
|
|
})
|
|
.catch((error) => {
|
|
// 失败之后做些什么
|
|
});
|
|
```
|
|
|
|
## 全局转换响应数据
|
|
|
|
可以设置全局转换响应数据,对每个请求生效。
|
|
|
|
```ts
|
|
import axios from 'axios-miniprogram';
|
|
|
|
axios.defaults.transformResponse = (data, headers) => {
|
|
return JSON.parse(data);
|
|
};
|
|
```
|