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 相关文章推荐
30个最好的jQuery 灯箱插件分享
Apr 25 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
chrome下jq width()方法取值为0的解决方法
May 26 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
常用原生js自定义函数总结
Nov 20 Javascript
JS 循环li添加点击事件 (闭包的应用)
Dec 10 Javascript
整理关于Bootstrap表单的慕课笔记
Mar 29 Javascript
微信小程序登录数据解密及状态维持实例详解
May 06 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
Apr 21 Javascript
jquery插件实现代码雨特效
Apr 24 jQuery
关于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
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
python3调用windows dos命令的例子
2019/08/14 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
Pygame框架实现飞机大战
2020/08/07 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
简单聊聊H5的pushState与replaceState的用法
2018/04/03 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL