当前位置: 首页 > news >正文

河南做网站公司求购机械加工

河南做网站公司,求购机械加工,友情链接模板,私人服装定制网站在开发vue项目中#xff0c;请求是不可缺少的#xff0c;在发送请求时常常需要统一处理一些请求头参数等设置与响应事件#xff0c;这时利用请求拦截器再好不过。 这里以axios请求为例 实现了设置统一请求头添加token, 其中token在登录时被存入了localStorage中。 同时拦…在开发vue项目中请求是不可缺少的在发送请求时常常需要统一处理一些请求头参数等设置与响应事件这时利用请求拦截器再好不过。 这里以axios请求为例 实现了设置统一请求头添加token, 其中token在登录时被存入了localStorage中。 同时拦截器利用new cancelToken与定义的cancelPending方法实现了可以取消正在pending状态的请求什么情况会需要取消请求呢 如下两种情况 1. 有一个局部分页时用户快速点击第2页然后继续点击第3页如果网络不太稳定时第2页的请求正在发送中还未响应但第3页的请求先响应了过了一会第2 页请求才响应这时用户处于第3页但看到的数据确是第2页的当然有人会说可以在发送请求过程中禁用掉分页按钮点击但我感觉体验不太好为何禁用呢直接点击第3页时中断掉之前相同的请求即可。 2. 切换路由时上一路由页面中仍有未响应的请求时切换了路由应该把正在pending的所有请求中断取消掉。 下面是完整实现axios请求拦截器与取消pending请求功能的代码 let pending []; let cancelToken axios.CancelToken; let cancelPending (config) { pending.forEach((item, index) { if(!!config){ if(item.u config.url){ item.f(); //取消请求 pending.splice(index, 1); //移除当前请求记录 }; }else{ item.f(); //取消请求 pending.splice(index, 1); //移除当前请求记录 } }); };//验证登录状态 router.beforeEach((to, from, next) { //如果是需要验证登录状态的页面 if(to.matched.some(record record.meta.requireAuth)){ let token localStorage.getItem(token); //如果已经登录则正常进入 if(!!token){ cancelPending(); next(); }else{ next({name: login, query: {redirect: to.fullPath}}); }; }else if(to.name login){ //如果是登录页则验证如果当前是登录状态自动跳转至系统主页否则正常进入登录页 let token localStorage.getItem(token); //如果已经登录则重定向至系统首页 if(!!token){ router.push({name: SystemWelcome}); }else{ next(); }; }else{ //其他页面正常进入 next(); }; });//axios 请求拦截器 axios.interceptors.request.use(config { let token localStorage.getItem(token); if (!!token) { // 判断是否存在token如果存在的话则每个http header都加上token config.headers.Authorization token ${token}; }; cancelPending(config); config.cancelToken new cancelToken((c) { pending.push({u: config.url, f: c}); }); return config; }, err { return Promise.reject(err); }); //响应拦截器 axios.interceptors.response.use(response { cancelPending(response.config); return response; }, error { if (error.response) { switch (error.response.status) { case 401: // 返回 401 清除token信息并跳转到登录页面 localStorage.removeItem(token); router.push({name: login, query: {redirect: router.currentRoute.fullPath}}); } } return {data: {}}; // 返回接口返回的错误信息这里返回空对象是为了避免控制台报错 });
http://www.zqtcl.cn/news/57220/

相关文章:

  • 展示型企业网站制作费用ios定制微信免费下载
  • 温州 建网站自己网站建设要维护
  • 包头seo排名seo网络推广什么意思
  • 焦作建设厅网站网站放自己服务器备案
  • 做视频网站需要什么服务器电商产品营销推广
  • 淮安软件园网站建设中标公示查询官网
  • 工作总结写作开封做网站优化
  • 文字图片制作网站免费个人简历模板
  • 校园网站建立wordpress按钮弹图片
  • 网站主体备案装修推广平台哪个效果好
  • seo站长工具是什么西城网站建设公司
  • 做网站侵权cms官方网站
  • 建设银行嘉兴分行网站首页wordpress弹幕视频主题
  • 网站建设链接wordpress获取浏览人信息
  • 微信公众号与网站绑定做网站买流量
  • 可以上传网站的免费空间站长工具的网址
  • 校友网站建设的重要性网站ui界面设计软件
  • 网站怎么做301跳转做网站销售药品
  • 电商网站设计理念app软件商城
  • 做网站的财务会涉及到的科目网站开发 印花税
  • 漳州建设局网站黑龙江建设网ca数字证书如何注销
  • 河南省建设厅专业业务系统网站dede做导航网站
  • 中国建设银行金华分行网站wordpress左右两栏
  • 做药品的电商网站企业网站优化公司哪家好
  • 做阿里巴巴好还是网站好一流本科专业建设网站
  • 做网页去哪些网站找素材较好wordpress分享积分
  • 电商网站是怎么建设的网站建设经典文章
  • 三亚官方网站建设设计制作小车二教学反思
  • 博物馆网站开发免费推广公司
  • 网站开发全栈教程建设网站好公司哪家好