介绍
本篇文章给大家分享的是有关Vue proxyTable实现配置多个接口地址并解决跨域的问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
最开始的时候,因为请求后台出现跨域问题。
查找资料配置proxyTable,解决跨域问题。如下图所示:
axios请求页面:
。美元axios.post (& # 39;/api/weblogin/登录# 39;,数据),然后(res=祝辞{ console.log (res) })
后面遇到需要连接不同的接口域名,我在proxyTable里增加了一个apiGas.axios请求存在获取得到api但是不能获取apiGas(提示请求资源不存在)。
proxyTable: { & # 39;/api # 39;: { 目标:& # 39;http://& # 39;//接口域名 changeOrigin:真的,//是否跨域 pathRewrite: { & # 39;^/api # 39;: & # 39;/bsgzf/api/认证/& # 39;//需要重写的, }, }, & # 39;/apiGas& # 39;: { 目标:& # 39;http://& # 39;//接口域名 changeOrigin:真的,//是否跨域 pathRewrite: { & # 39;^/apiGas& # 39;: & # 39;/bsgzf/api/天然气/& # 39; } }, },
查找了很多资料都没有具体的解决方法,偶然在一个相同的问题下发现一个回复,让把这两个链接位置换一下,抱着试一试的态度换了,重新运行,结果两个都可以获取了。不知道什么原理? ? ?有知道的请指教! ! !
正解:
proxyTable: { & # 39;/apiGas& # 39;: { 目标:& # 39;http://& # 39;//接口域名 changeOrigin:真的,//是否跨域 pathRewrite: { & # 39;^/apiGas& # 39;: & # 39;/bsgzf/api/天然气/& # 39; } }, & # 39;/api # 39;: { 目标:& # 39;http://& # 39;//接口域名 changeOrigin:真的,//是否跨域 pathRewrite: { & # 39;^/api # 39;: & # 39;/bsgzf/api/认证/& # 39;//需要重写的, }, }, },
<强> Vue里的proxyTable解决跨域,api接口管理强>
本文单纯的介绍Vue项目中接口的集中管理以及跨域的解决方法。
<强> 1. webpack里的proxyTable设置跨域:配置→索引。js 强>
模块。出口={ 戴夫:{ assetsSubDirectory: & # 39;静态# 39; assetsPublicPath: & # 39;/& # 39; proxyTable: { & # 39;/api # 39;: { 目标:& # 39;http://localhost: 80 & # 39;//这里配置的是请求接口的域名//安全:假的,//如果是https接口,需要配置这个参数 changeOrigin:真的,//如果接口跨域,需要进行这个参数配置 pathRewrite: { & # 39;^/api # 39;: & # 39; & # 39;//路径重写,这里理解成用& # 39;/api # 39;代替目标里面的地址。 } } }, }
<强> 2。设置api 强>
2.1文件目录
2.2 api。js编码
从& # 39;进口axios axios& # 39; axios.defaults.baseURL=& # 39;/api # 39;; axios.defaults.headers.post[& # 39;内容类型# 39;]=& # 39;application/json; charset=utf - 8 # 39;; axios.defaults.withCredentials=true//接口自定义//修改用户信息接口 出口const updateOneUser=params=比;{ 返回axios.post(& # 39;/安踏anta-back/src/php/updateUser.php& # 39;, params) 不要犹豫(res=比;res.data) };
<强> 3。组件中引用强>
进口{updateOneUser}“. ./. ./api/api" 方法:{//给后台发送数据 var params=new URLSearchParams (); params.append (& # 39; userphone& # 39;, this.watchStudentInfo.userphone); params.append (& # 39; userpass& # 39;, this.watchStudentInfo.userpass); console.log (params) updateOneUser (params) (https://www.yisu.com/zixun/data=> {//后台返回的数据 如果(data==1) {//添加成功 message.success美元。(“修改成功”) 其他}{//失败 message.success美元。(“修改失败”) }=> {}).catch(错误 message.success美元。(“修改失败”) }) }
以上就是Vue proxyTable实现配置多个接口地址并解决跨域的问题,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。