Vue proxyTable配置多个接口地址,解决跨域的问题
最开始的时候,因为请求后台出现跨域问题。
查找资料配置proxyTable,解决跨域问题。如下图所示:
axios请求页面:
this.$axios.post('/api/weblogin/login',data).then(res=>{ console.log(res) })
后面遇到需要连接不同的接口域名,我在proxyTable里增加了一个apiGas。axios请求存在获取得到api但是不能获取apiGas(提示请求资源不存在)。
proxyTable:{ '/api':{ target:'http://',//接口域名 changeOrigin:true,//是否跨域 pathRewrite:{ '^/api':'/bsgzf/api/auth/',//需要rewrite的, }, }, '/apiGas':{ target:'http://',//接口域名 changeOrigin:true,//是否跨域 pathRewrite:{ '^/apiGas':'/bsgzf/api/gas/' } }, },
查找了很多资料都没有具体的解决方法,偶然在一个相同的问题下发现一个回复,让把这两个链接位置换一下,抱着试一试的态度换了,重新运行,结果两个都可以获取了。不知道什么原理???有知道的请指教!!!
正解:
proxyTable:{ '/apiGas':{ target:'http://',//接口域名 changeOrigin:true,//是否跨域 pathRewrite:{ '^/apiGas':'/bsgzf/api/gas/' } }, '/api':{ target:'http://',//接口域名 changeOrigin:true,//是否跨域 pathRewrite:{ '^/api':'/bsgzf/api/auth/',//需要rewrite的, }, }, },
补充知识:Vue里的proxyTable解决跨域,api接口管理
本文单纯的介绍Vue项目中接口的集中管理以及跨域的解决方法。
1.webpack里的proxyTable设置跨域:config->index.js
module.exports={ dev:{ assetsSubDirectory:'static', assetsPublicPath:'/', proxyTable:{ '/api':{ target:'http://localhost:80',//这里配置的是请求接口的域名 //secure:false,//如果是https接口,需要配置这个参数 changeOrigin:true,//如果接口跨域,需要进行这个参数配置 pathRewrite:{ '^/api':''//路径重写,这里理解成用'/api'代替target里面的地址. } } }, }
2.设置api
2.1文件目录
2.2api.js编码
importaxiosfrom'axios' axios.defaults.baseURL='/api'; axios.defaults.headers.post['Content-Type']='application/json;charset=utf-8'; axios.defaults.withCredentials=true //接口自定义 //修改用户信息接口 exportconstupdateOneUser=params=>{ returnaxios.post('/anta/anta-back/src/php/updateUser.php',params) .then(res=>res.data) };
3.组件中引用
import{updateOneUser}from"../../api/api" methods:{ //给后台发送数据 varparams=newURLSearchParams(); params.append('userphone',this.watchStudentInfo.userphone); params.append('userpass',this.watchStudentInfo.userpass); console.log(params) updateOneUser(params).then(data=>{ //后台返回的数据 if(data==1){ //添加成功 this.$message.success('修改成功') }else{ //失败 this.$message.success('修改失败') } }).catch(error=>{ this.$message.success('修改失败') }) }
以上这篇VueproxyTable配置多个接口地址,解决跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。