vue中http,axios请求
程序员文章站
2022-07-02 12:23:08
...
vue是一个纯前端的框架,需要webapi支持数据。通过http请求webapi就行了。我们既可以用jquery ajax请求,也可以使用axios请求,我们项目中选择了后者。axios里有个拦截器挺好的,它可以在请求发送前,添加请求头及一些工作。
const requestInterceptor=axios.interceptors.request.use(
config => {
config.data = JSON.stringify(config.data);
config.headers = {
'Content-Type':'application/json',
'Authorization':'Bearer '+getStore('token'),
xhrFields: {
withCredentials: true
},
'Pragma': 'no-cache',
'Cache-Control': 'no-cache'
}
return config;
},
error => {
return Promise.reject(err);
}
);
这个拦截器做了两件事情:
a、请求data:把js对象转为json字符串
b、请求头:添加了数据发送格式,token验证、IE下get有缓存,所以加了‘Cache-Control’和‘Pragma’
拦截器在请求的时候,也可以根据情况去掉:
/**
* post请求
* @param url
* @param data
* @param isRemoveInterceptor 是否移除拦截器
* @returns {Promise}
*/
export function post(url,data = {},isRemoveInterceptor=false){
if(isRemoveInterceptor){
axios.interceptors.request.eject(requestInterceptor);
}
return new Promise((resolve,reject) => {
axios.post(axios.defaults.baseURL+url,data)
.then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
}
上一篇: STM32 中断优先级和中断分组彻底解析
下一篇: STM32 NVIC中断优先级
推荐阅读
-
android实现http中请求访问添加cookie的方法
-
Vue+Typescript中在Vue上挂载axios使用时报错
-
详解vue中axios请求的封装
-
Node.js中的http请求客户端示例(request client)
-
vue axios数据请求get、post方法及实例详解
-
Python中http请求方法库汇总
-
vue axios数据请求及vue中使用axios的方法
-
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
-
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
-
vue-cli axios请求方式及跨域处理问题