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 相关文章推荐
JavaScript与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
Dec 17 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
JavaScript实现鼠标点击后层展开效果的方法
May 13 Javascript
利用CSS3在Angular中实现动画
Jan 15 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
JavaScript SHA1加密算法实现详细代码
Oct 06 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 Javascript
深入了解Vue.js 混入(mixins)
Jul 23 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 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
域名查询代码公布
2006/10/09 PHP
MySQL中create table语句的基本语法是
2007/01/15 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
php 获取客户端的真实ip
2009/11/30 PHP
php时间戳转换的示例
2014/03/31 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
newxtree.js代码
2007/03/13 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
JS实现图片放大镜插件详解
2017/11/06 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
Python中Numpy ndarray的使用详解
2019/05/24 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Python多线程正确用法实例解析
2020/05/30 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
高中毕业自我鉴定
2013/12/22 职场文书
21岁生日感言
2014/02/27 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书