Vue proxyTable配置多个接口地址,解决跨域的问题


Posted in Javascript onSeptember 11, 2020

最开始的时候,因为请求后台出现跨域问题。

查找资料配置proxyTable,解决跨域问题。如下图所示:

Vue 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文件目录

Vue proxyTable配置多个接口地址,解决跨域的问题

2.2 api.js 编码

import axios from 'axios'

axios.defaults.baseURL = '/api';
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8';
axios.defaults.withCredentials = true

//接口自定义

//修改用户信息接口
export const updateOneUser = params => {
 return axios.post('/anta/anta-back/src/php/updateUser.php', params)
  .then(res => res.data)
};

3.组件中引用

import {updateOneUser} from "../../api/api"
methods:{
  //给后台发送数据
  var params = new URLSearchParams();
  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('修改失败')
  })
}

以上这篇Vue proxyTable配置多个接口地址,解决跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery小知识
Oct 15 Javascript
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
Aug 23 Javascript
jQuery 阴影插件代码分享
Jan 09 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
IE8兼容Jquery.validate.js的问题
Dec 01 Javascript
AngularJS中的作用域实例分析
May 16 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
vue组件传值的实现方式小结【三种方式】
Feb 05 Javascript
vue 使用 canvas 实现手写电子签名
Mar 06 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
关于ES6尾调用优化的使用
Sep 11 #Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 #Javascript
Vue项目开发常见问题和解决方案总结
Sep 11 #Javascript
JavaScript实现简单日历效果
Sep 11 #Javascript
vue $mount 和 el的区别说明
Sep 11 #Javascript
JavaScript 判断数据类型的4种方法
Sep 11 #Javascript
jQuery实现日历效果
Sep 11 #jQuery
You might like
在PHP中使用XML
2006/10/09 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
vscode 远程调试python的方法
2017/12/01 Python
Python tkinter事件高级用法实例
2018/01/31 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
python文件排序的方法总结
2020/09/13 Python
python中append函数用法讲解
2020/12/11 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
介绍一下代理模式(Proxy)
2014/10/17 面试题
党的生日活动方案
2014/08/15 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL