给出封装axios请求的代码
时间: 2023-10-04 19:12:40 浏览: 66
好的,这是一个封装axios请求的示例代码,供您参考:
```
import axios from 'axios';
const request = axios.create({
baseURL: 'https://api.example.com',
timeout: 5000, // 请求超时5秒
headers: {
'Content-Type': 'application/json'
}
});
request.interceptors.request.use(
config => {
// 在发送请求之前做些什么
return config;
},
error => {
// 处理请求错误
return Promise.reject(error);
}
);
request.interceptors.response.use(
response => {
// 成功响应处理
return response.data;
},
error => {
// 响应错误处理
return Promise.reject(error);
}
);
export default request;
```
请注意,在开发过程中,您需要根据您的具体情况进行适当的调整和修改。
相关问题
vue封装axios请求 代码举例说明
非常感谢您的提问!下面是一个基于Vue封装Axios请求的示例代码:
```javascript
import axios from 'axios'
import { Message } from 'element-ui'
// 创建axios实例
const service = axios.create({
baseURL: 'http://api.example.com',
timeout: 5000 // 请求超时时间
})
// 请求拦截器
service.interceptors.request.use(
config => {
// 在发送请求之前添加一些请求头参数
config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token')
return config
},
error => {
// 处理请求错误
console.log(error)
return Promise.reject(error)
}
)
// 响应拦截器
service.interceptors.response.use(
response => {
// 处理响应数据
const res = response.data
if (res.code !== 200) {
Message({
message: res.message || 'Error',
type: 'error',
duration: 5 * 1000
})
return Promise.reject(new Error(res.message || 'Error'))
} else {
return res
}
},
error => {
// 处理响应错误
console.log(error)
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
// 封装请求方法
const request = {
get(url, params) {
return service({
method: 'get',
url,
params
})
},
post(url, data) {
return service({
method: 'post',
url,
data
})
},
put(url, data) {
return service({
method: 'put',
url,
data
})
},
delete(url) {
return service({
method: 'delete',
url
})
}
}
export default request
```
当然,对于不同的项目和需求,具体的封装方式也可能会有所不同。希望这段代码能够帮助您进一步理解Vue中如何封装Axios请求。
vue3封装axios请求接口代码
在Vue3中,封装axios请求接口的代码可以通过以下步骤完成:
1. 首先,在项目中已经全局引入了axios,所以不需要再次引入axios。你可以在`request.js`文件中找到全局引入的代码。
2. 在`main.js`中,你可以通过`window.location.protocol`和`window.location.host`获取当前协议和主机IP端口。然后,可以使用这些信息来设置axios的默认请求`baseURL`。例如:
```
let protocol = window.location.protocol; // 获取协议
let host = window.location.host; // 获取主机
axios.defaults.baseURL = `${protocol}//${host}`;
```
3. 当需要将对象序列化成URL的形式并进行拼接时,可以使用`qs.stringify()`方法。这个方法会将对象序列化成URL的形式,以`&`符号进行拼接。
4. 在Vue3中,可以使用`globalProperties`来进行全局挂载。在`main.js`中,可以按照以下方式挂载axios请求方法:
```
app.config.globalProperties.$get = $get;
app.config.globalProperties.$post = $post;
app.config.globalProperties.$axios = axios;
```
其中,`$get`和`$post`是你封装的发送GET和POST请求的方法。
5. 最后,你需要在`main.js`中引入以上代码,以使其生效。
综上所述,这就是在Vue3中封装axios请求接口的代码。你可以根据实际需求进行相应的修改和调整。
阅读全文