当前位置: 首页 > Web前端 > vue.js

将token设置为请求header

时间:2023-03-31 22:46:36 vue.js

handleSubmit2(ev){//回车登录var_this=this;this.$refs.ruleForm2.validate((valid)=>{if(valid){this.logining=true;varloginParams={账户:this.ruleForm2.account,密码:this.ruleForm2.checkPass};requestLogin(loginParams).then(data=>{this.logining=false;this.$message.success(data.msg);//this.$message.success('登录成功');if(data.status!==1){this.$message({message:msg,type:'error'});}else{this.$message.success('登录成功');localStorage.setItem('user',JSON.stringify(data.data.token));//将令牌存储起来this.$router.push({path:'/user'});}document.onkeydown=undefined;});}else{console.log('errorsubmit!!');返回假;}});},将token设置为headeraxios.interceptors.request.use(function(config){lettoken=window.localStorage.getItem("user")token=eval('('+token+')');//console.log(token)if(token){config.headers.token=token;//将token放在请求头中,并发送给服务器//这个经常和token一起使用,将token值配置为tokenkey,把请求头中的tokenkey//config.headers['token']=Token;    //后台需要定义config.headers.token以及token的名字是什么,我这里定义为token}returnconfig;},function(error){returnPromise.reject(error);});这样token就已经放到header上了,说明设置成功了。返回一个token,后面发送的请求必须携带这个token,因为后台设置了拦截,如果token一致,则允许访问,否则请求不成功。所以需要把token放在requestheader中,我这里用的是vue