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 相关文章推荐
asp.net HttpHandler实现图片防盗链
Nov 09 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
Aug 05 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 Javascript
Vue Spa切换页面时更改标题的实例代码
Jul 15 Javascript
vue内置组件transition简单原理图文详解(小结)
Jul 12 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
原生JS与CSS实现软件卸载对话框功能
Dec 05 Javascript
vue-resource post数据时碰到Django csrf问题的解决
Mar 13 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版(4)
2006/10/09 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
php数组键名技巧小结
2015/02/17 PHP
php微信支付之APP支付方法
2015/03/04 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
Python 的内置字符串方法小结
2016/03/15 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
Python 获取div标签中的文字实例
2018/12/20 Python
用Python读取几十万行文本数据
2018/12/24 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
置业顾问岗位职责
2014/03/02 职场文书
反对邪教标语
2014/06/30 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
给病人的慰问信
2015/03/23 职场文书
党员转正党支部意见
2015/06/02 职场文书
自书遗嘱范文
2015/08/07 职场文书
初中美术教学反思
2016/02/17 职场文书
导游词之日月潭
2019/11/05 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python