axios请求拦截器中对get请求的参数全部进行URL编码
时间: 2023-05-28 16:04:21 浏览: 142
axios.md
可以在请求拦截器中对get请求的参数进行URL编码,代码如下:
```javascript
import axios from 'axios';
axios.interceptors.request.use(config => {
if (config.method === 'get') {
config.params = {
...config.params,
...Object.keys(config.params).reduce((acc, key) => {
acc[encodeURIComponent(key)] = encodeURIComponent(config.params[key]);
return acc;
}, {})
};
}
return config;
}, error => {
return Promise.reject(error);
});
```
这段代码会在axios的请求拦截器中对所有的get请求的参数进行URL编码,然后再发送请求。具体实现是先将原有的参数和一个新的对象合并,然后对新的对象中的每一个key和value进行URL编码,最后再将新的对象赋值给原有的参数。这样就可以保证所有的get请求的参数都是经过URL编码的。
阅读全文