axios里面怎么把application/json换成application/x-www-form-urlencoded
时间: 2023-09-21 17:11:37 浏览: 198
在使用axios发送POST请求时,可以使用axios的interceptors拦截器来处理请求体数据。可以使用qs库将JSON格式的请求体数据转换为application/x-www-form-urlencoded格式的数据,然后再将其设置到axios的请求头中。
以下是一段示例代码:
```javascript
import axios from 'axios';
import qs from 'qs';
// 设置axios的默认请求头
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
// 添加axios的拦截器
axios.interceptors.request.use((config) => {
// 将JSON格式的请求体数据转换为application/x-www-form-urlencoded格式的数据
if (config.method === 'post' && config.headers['Content-Type'] === 'application/x-www-form-urlencoded') {
config.data = qs.stringify(config.data);
}
return config;
}, (error) => {
return Promise.reject(error);
});
```
在上述代码中,我们首先设置了axios的默认请求头为application/x-www-form-urlencoded。然后,使用axios的interceptors拦截器来处理请求体数据,将JSON格式的请求体数据转换为application/x-www-form-urlencoded格式的数据,并将其设置到axios的请求头中。
需要注意的是,如果请求头中已经设置了Content-Type为application/x-www-form-urlencoded,则不需要做任何处理。如果请求头中Content-Type为其他类型,则需要根据实际情况做出相应的处理。
阅读全文