概述:Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中

当我们使用vue向服务器发送AJAX请求时,我们会遇到跨域问题,一般跨域的解决方案有俩种,一种是官方的CORS,还有一种就是利用<script>中的src(就是jsonp),

在vue中则可以使用代理服务器来解决跨域的问题。

接下来有俩种方法的展示和介绍:

在vue.config.js里面进行配置
一:

devServer: {
        proxy:'http://localhost:5000'     //代理服务器的目标的基础路径
    }
 

二:

devServer: {
        proxy: {
            '/first': {
                target: 'http://localhost:5000',   //代理目标的基础路径
                pathRewrite: { '^/first': '' },      //重写路径,将代理服务器发送给服务器的请求路径进行更改,这样就可以让服务器收到的请求正常
                ws: true,     //用于支持websocket
                changeOrigin: true     //用于控制请求头中的host值
               
            },
        }
    }
但是这种需要在配置axios的路径的时候,在后方加入设置好的前缀
例:
methods: {
    add(){
      axios.get('http://localhost:8080/first/students').then(
        response=>{console.log("请求成功了",response.data)},
        error =>{console.log("请求失败了",error.message)}
      )
    }
  },
区别于优缺点:
第一种优点:配置相对简单
缺点:只能配置一个代理,就是当后台服务器超过一台的时候,便不再适用,而且当你前端资源(public)上面如果有名字相同的文件,vue会自动将本地的资源视为优先,则会导致你请求后台的数据变成你自己曾经写的公共数据,获取不到后台的数据,则不能灵活的控制是否进行代理。
第二种优点:可以配置多个代理,而且还可以灵活的控制是否进行代理,也通过这样控制是否进行代理,加入了就进行代理,优先后台的资源,不加则只会获取前端资源,前端资源里面没有则报错
缺点:配置相对复杂一点点,而且需要加前缀
  

vue中axios配置代理的俩种方式及优缺点的更多相关文章

  1. vue中axios 配置请求拦截功能 及请求方式如何封装

    main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' i ...

  2. 【转】【WCF】WCF中客户端生成代理的两种方式

    WCF程序中客户端要生成代理才能调用服务,在客户端生成代理有多种方式,如用ChannelFactory和添加服务引用等.下面就分别来介绍下这两种生成代理的方式. 使用ChannelFactory 使用 ...

  3. 在Vue中输入框自动获取焦点的三种方式

    原生JS操作DOM使用mounted钩子函数,它表示页面一加载进来就执行函数里面的内容(和window.onload类似)1//html部分 编号:<input type="text& ...

  4. 聊聊 Vue 中 axios 的封装

    聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在 ...

  5. Vue中axios的封装和api接口的统一管理

    更新的是我csdn上的文章,需要的话可以看下,互相学习点击去我的csdn vue中axios的封装 在vue项目和后端交互获取数据时,通常使用axios库,官方文档:https://www.npmjs ...

  6. VUE前端项目配置代理解决跨域问题

    VUE前端项目配置代理解决跨域问题 问题如下,经常在本地调试接口出现这种问题 解决方式1:Chrome 的扩展插件 以前使用Chrome 的扩展插件,但是有时候还是会出现莫名其妙的问题. 需要梯子才行 ...

  7. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  8. vue中axios的安装使用

    axios是一个基于 promise 的 HTTP 库,在vue中axios是比较常用的网络请求方法. 安装 npm install axios -S 在main.js配置 import axios ...

  9. es6中的Proxy和vue中的数据代理的异同

    1:概述 1-1:Proxy 用于修改某些操作的默认行为,Proxy可以说在对对象进行各种访问或者操作的时候在外层进行一层拦截,在操作之前都需要经过这种拦截.proxy返回的是一个新对象,可以通过操作 ...

随机推荐

  1. 汇编语言中loop循环编程

    (1)向内存0:200~ 0:23f依次传送数据0~63(3FH) (2)同上简化后的代码,要求九行以内

  2. cpulimit-限制CPU速率

    CPULimit是一个简单的程序,它可以限制指定进程的CPU百分比. 1.安装依赖 root@localhost:~# apt-get -y install git 2.从GitHUB中克隆源码到本地 ...

  3. Base64编码知识详解

    在我们进行前端开发时,针对项目优化,常会提到一条:针对较小图片,合理使用Base64字符串替换内嵌,可以减少页面http请求. 并且还会特别强调下,必须是小图片,大小不要超过多少KB,等等. 那么,B ...

  4. Ubuntu-apt-get出错

    ubuntu apt-get的时候出现: E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission ...

  5. 在两台配置了Win10操作系统的电脑之间直接拷贝文件

    前提条件:需要一根网线 每台电脑需手动设置IP地址 设置IP地址随意,示例为:10.10.2.11 和 10.10.2.12 每台电脑需关闭Windows防火墙 测试网络是否连通 方式一 远程桌面连接 ...

  6. zabbix-5.0自动发现

    1. 安装zabbix5.0 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.no ...

  7. 【python基础】第05回 数据类型,交互,格式化输出,运算符

    上节内容回顾 1.python的注释 # 单行注释 pycharm快捷键:ctrl+? '''多行注释''' """多行注释""" 2.py ...

  8. java请求登录接口代码示例

    前言 近期研究如何利用java代码如何获取其他系统中所需的数据,自己总结的方法如下: 1.工具类代码 /** * <pre> * 方法体说明:向远程接口发起请求,返回字符串类型结果 * @ ...

  9. Python制作手游《和平精英》游戏资料查询助手

    写在前面的一些P话: <和平精英>这个游戏想必大家都玩过了,今天来教大家制作一个<和平精英>游戏的资料查询助手 受害者地址: https://gp.qq.com/main.sh ...

  10. NC14661 简单的数据结构

    NC14661 简单的数据结构 题目 题目描述 栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题. 该数据结构形如长条形. 一开始该容器为空,有以下七种操作. 1 a从前面插入元素a 2 从前 ...