2020
10-10
10-10
Vue axios获取token临时令牌封装案例
前言为什么非要写这个博客呢?因为这件事让我有一种蛋蛋的优疼。剩下的都别问,反正问我也不会说。因为流程图我都不想(懒得)画。开发架构前端页面:Vue网络请求:Axios;方式:vueaddaxios缓存方案全局变量:Vuex本地缓存:LocalStorage技术依赖你猜?背景公司开发一个嵌入App的Web页面,安全方面使用老套路:App通过URL传参给前端(包含签名),前端把参数透传给H5后端验签,完事儿之后前端再决定用户是否合法。另外定义了N个J...
继续阅读 >
今天开发时,使用axios返回的response中data有多个数据:如果是获取cn里的数据的,可以用:response.data.cn但是需求是根据选择来获取数据的,会发生变化,最开始的想法是,用一个变量来记录需要获取的key:假设need是需要获取的某个keyconstdkey=this.need;response.data.dkey这样发现获取不到数据,这是因为vue.js把dkey当成data里的某一个key了,类似于上面的"cn"。折腾了很久才突然想起,这个data其实类似一个数组,我们可以...
(chrome环境)在做项目的时候,由于做大数据可视化界面,后台接口查询数据往往会比较久(上百万的数据量),导致vue项目axios请求超时timeout设置就比较大。开始设置超时未3分钟时没有问题(这里我设置超时弹窗了),可设置超时未6分钟时,却在五分钟左右弹出请求超时,但明明设置tiemout=6x60x1000。于是通过资料查询,了解到Chrome浏览器,默认请求超时为五分钟,所以导致上诉现象产生,可如何在vue中修改浏览器超时?直接上代...
vue中axios的delete和post,put在传值上有点区别post和put有三个参数,url,data和config,所以在使用这两个时,可以写成axios.post(api,{id:1}),axios.put(api,{id:1}),但是delete只有两个参数:url和config,data在config中,所以需要写成axios.delete(api,{data:{id:1}})如果是服务端将参数当作Java对象来封装接收则参数格式为:{data:param}varparam={id:1,name:'zhangsan'}this.$axios.delete("/ehrReferralObjPro",{data...
新项目前端用的Vue全家桶,使用axios代替ajax请求后台接口,在调整注册接口的时候,发现在session里取不到验证码,排查后才知道获取验证码和注册两个请求的session不同,sessionId不一样。现在调整一下Vue的配置,修改main.js文件,添加如下两行代码importaxiosfrom'axios'axios.defaults.withCredentials=true;修改后importVuefrom'vue'importAppfrom'./App'importrouterfrom'./router'importElementUIfrom'elemen...
POST请求变成OPTIONS及报错信息(跨域)主要解决方案:使用qs.stringify1、安装qsnpminstallqs--save2、axios配置和使用在接口请求页面引入安装好的qs,如下图:引入完成之后使用qs改变传递的参数data,如下:这样就可以了,post请求的时候就不会再出现OPTIONS了补充知识:axios发起请求,为什么先发送options请求,再发送get/post请求引起原因1,跨域;2,请求头非默认情况。默认请求头如下AcceptAccept-LanguageContent-Lang...
在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpack-server模拟的接口,这个前面的文章中有提到,需要的可以去翻阅。整个的流程是在组件的created中提交dispatch,然后通过action调用一个封装好的axios然后再触发mutation来提交状态改变state中的数据,然后在组件的计算属性中获取state的数...
在vue-cli3中,公共文件夹由static变成了public先把要访问的json放到public文件夹下使用axios的get方法获取,不能用post,不然会报404axios.get(`./china-main-city/100000.json`).then((data)=>{console.log(data)})补充知识:两个不同的路由,引入相同的组件从不同的按钮进入到详情页,两个不同的路由,相同的组件主要是从不同按钮进入不同路由的页面,内容一致,但是title不一样,怎么写index.jsconstbusinessDet...
走登录的接口都会返回一个token值,然后存起来方便之后调接口的时候给后台传过去,传给后台的方式有两种:(具体使用哪种需要和后台商量)1、放在请求头中2、放在接口的参数中1、放在请求头中下面代码是从本地cookie中拿tokenVueCookie:一个用于处理浏览器cookies的简单Vue.js插件.//在封装axios的文件中添加拦截器//添加请求拦截器,在请求头中加tokenservice.interceptors.request.use(config=>{//判断本地的cookie中是...