Vue3.0 axios跨域请求代理服务器配置方式

 更新时间:2022年04月18日 11:50:55   作者:tdl081071tdy  
这篇文章主要介绍了Vue3.0 axios跨域请求代理服务器配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

axios跨域请求代理服务器配置

首先安装axios

npm install axios

然后在vue.config.js文件下配置如下代码

(若没有vue.config.js文件可以自己创建这个文件)

module.exports = {
    devServer: {
        open: true,
        port: 8001,
        proxy: {
            '/apis': {
                target: 'http://localhost:8080/thinkphp/personal_blog/public/personal.php/personal/',  // target host
                ws: true,  // proxy websockets 
                changeOrigin: true,  // needed for virtual hosted sites
                pathRewrite: {
                    '^/apis': ''  // rewrite path
                }
            },
        }
    }  
};

其中open表示是否运行时就启动app,port表示我们当前vue页面的端口比如下面我的页面端口是8001那么这里就写8001

然后proxy中的代码就是跨域代理服务器的配置代码

其中target就是目标api接口,比如你们接口为 http://localhost:8080/api/login 那么target就可以写http://localhost:8080/api/

然后在项目中实际用我们就可以这么写

axios.post('/apis/login', postData)
      .then(response => {
          // post 成功,response.data 为返回的数据
          console.log(response.data)
      })
      .catch(error => {
          // 请求失败
          console.log(error)
      })

那个apis就是http://localhost:8080/api/ 也就是我们在target中配置的api接口,"/apis/"就是 pathRewrite中配置的

然后就可以请求成功了,我这里的后台是以tp5框架做为后台

这里我使用的是vuecli3.0最新版的脚手架

目录结构如下

其中初始创建时没有vue.config.js的文件,这个为自己手动创建

注意 修改成功后一定要重新启动项目

axios跨域问题解决

1.在vue.config.js文件中做如下配置

  • target: 配置跨域请求的地址
  • changeOrigin: 是否跨域
  • pathRewrite: 路径重写

2.request.js(拦截器页面)如下配置

**这里的baseURL要修改成与vue.config.js文件中设置代理名称(/api)相同的名字

3.具体请求页面如下配置

(不需要做特殊配置)**

  • url: 具体请求接口

我是根据自己的项目配置的,大家可以自己对照一下,仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue路由拦截及页面跳转的设置方法

    vue路由拦截及页面跳转的设置方法

    这篇文章主要介绍了vue路由拦截及页面跳转的设置方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • vue项目实现对某个区域绘制水印

    vue项目实现对某个区域绘制水印

    这篇文章主要为大家详细介绍了vue项目实现对某个区域绘制水印,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Vue公共loading升级版解决思路(处理并发异步差时响应)

    Vue公共loading升级版解决思路(处理并发异步差时响应)

    这篇文章主要介绍了Vue公共loading升级版(处理并发异步差时响应),解决思路是通过定义一个全局对象来存储每个接口的响应状态,直到每个请求接口都收到响应才变更状态,结束loading动画,需要的朋友可以参考下
    2023-11-11
  • vue el-row中ul间距问题

    vue el-row中ul间距问题

    这篇文章主要介绍了vue el-row中ul间距问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Vue.js自定义指令学习使用详解

    Vue.js自定义指令学习使用详解

    这篇文章主要为大家详细介绍了Vue.js自定义指令的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • vue组件 非单文件组件的使用步骤

    vue组件 非单文件组件的使用步骤

    组件又分为非单文件组件和单文件组件,一般常用的就是单文件组件,这篇文章主要介绍了vue组件非单文件组件的使用步骤,需要的朋友可以参考下
    2023-01-01
  • 关于Vue3父子组件emit参数传递问题(解决Vue2this.$emit无效问题)

    关于Vue3父子组件emit参数传递问题(解决Vue2this.$emit无效问题)

    相信很多人在利用事件驱动向父组件扔东西的时候,发现原来最常用的this.$emit咋报错了,竟然用不了了,下面通过本文给大家分享关于Vue3父子组件emit参数传递问题(解决Vue2this.$emit无效问题),需要的朋友可以参考下
    2022-07-07
  • 详解vue指令与$nextTick 操作DOM的不同之处

    详解vue指令与$nextTick 操作DOM的不同之处

    这篇文章主要介绍了vue指令与$nextTick 操作DOM的不同之处,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • vue3.0使用mapState,mapGetters和mapActions的方式

    vue3.0使用mapState,mapGetters和mapActions的方式

    这篇文章主要介绍了vue3.0使用mapState,mapGetters和mapActions的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • SpringBoot+Vue3实现文件的上传和下载功能

    SpringBoot+Vue3实现文件的上传和下载功能

    上传文件和下载文件是我们平时经常用到的功能,接下来就让我们用SpringBoot,Vue3和ElementPlus组件实现文件的上传和下载功能吧,感兴趣的朋友跟随小编一起看看吧
    2023-01-01

最新评论