vue跨域解决方案反向代理_怎么解决跨域问题

vue跨域解决方案反向代理_怎么解决跨域问题文章目录前言一、跨域是什么?二、解决跨域的办法前言跨域错误信息AccesstoXMLHttpRequestat‘http://192.168.2.92:3000/api/b/home’fromorigin‘http://localhost:8080’hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn’tpassaccesscontrolcheck:ItdoesnothaveHTTP

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

跨域错误信息

Access to XMLHttpRequest at ‘http://192.168.2.92:3000/api/b/home’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: It does not have HTTP ok status.
在这里插入图片描述

一、跨域是什么?

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
举例说明:

#协议跨域
http://a.baidu.com 访问 https://a.baidu.com;
#端口跨域
http://a.baidu.com:8080 访问  http://a.baidu.com:80;
#域名跨域
http://a.baidu.com  访问  http://b.baidu.com;

二、解决跨域的办法

1.这里以使用vue脚手架生成的标准项目为准。一般在项目config目录下面有个index文件

module.exports = { 
   
    publicPath: './',
    lintOnSave: true,
    configureWebpack: { 
   
        //关闭 webpack 的性能提示
        performance: { 
   
            hints:false
        }
    
    },
    devServer: { 
   
        proxy: { 
   
            '/api': { 
   
                target: 'http://192.168.2.90:3000',//后端接口地址
                changeOrigin: true,//是否允许跨越
                pathRewrite: { 
   
                    '^/api': '/api'//重写,
                }
            }
        }
    }
}

此方法只能在开发环境中使用。
后端请求地址是http://192.168.92.2:3000,所有api的接口url都以/api开头。
所以首先需要匹配所有以/api开头的.然后修改target的地址为http://192.168.2.92:9090。
最后修改pathRewrite地址:将前缀’^api’转为’/api’。
如果本身的接口地址就有’/api’这种通用前缀,就可以把pathRewrite 删掉。

2.配置一下axios.defaults.baseURL = ‘/api’这样就可以保证动态的匹配生产和开发环境的定义前缀,代码如下:

// mock服务器
axios.defaults.baseURL ='/api';

3.重新启动项目,发现解决了跨域问题
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186965.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dell计算机运行慢怎么解决方法,戴尔笔记本电脑运行速度慢怎么办?

    dell计算机运行慢怎么解决方法,戴尔笔记本电脑运行速度慢怎么办?戴尔笔记本电脑运行速度慢怎么办?戴尔(Dell),是一家总部位于美国德克萨斯州朗德罗克的世界五百强企业,由迈克尔·戴尔于1984年创立。戴尔以生产、设计、销售家用以及办公室电脑而闻名,不过它同时也涉足高端电脑市场,生产与销售服务器、数据储存设备、网络设备等。下面是小编收集整理的戴尔笔记本电脑运行速度慢的解决方法,欢迎阅读。戴尔笔记本电脑运行速度慢的解决方法用户在购买电脑的时候,如果预装了Win8系…

    2022年9月11日
    0
  • Map有序输出_在线反序输出

    Map有序输出_在线反序输出ListOrderedMap位于commons-collections的jar包里,与普通的map相比,ListOrderedMap的key可保持原有顺序。packageutil;importjava.util.HashMap;importjava.util.Map;importjava.util.Set;importorg.apache.commons.collections.map.ListOrderedMap;publicclassListOrderMapTest{pub

    2022年9月15日
    0
  • python3 gil锁_python gil 多线程

    python3 gil锁_python gil 多线程前言python的使用者都知道Cpython解释器有一个弊端,真正执行时同一时间只会有一个线程执行,这是由于设计者当初设计的一个缺陷,里面有个叫GIL锁的,但他到底是什么?我们只知道因为他导致pyt

    2022年8月7日
    4
  • linux内核编程接口小结(一)

    linux内核编程接口小结(一)1、下面两幅图描述了linux内核编程接口函数

    2022年10月8日
    0
  • 使用zabbix监控redis内存使用

    使用zabbix监控redis内存使用本篇提到的监控环境是有条件的,即默认单机只运行一个redis实例,且默认运行的端口是6379(也可以是其他端口,需要通过sed-i’s/6379/你修改的端口/g’xml模板文件修改模板文件里的端口号)。即然有这么多局限,岂不是适应用环境很差。确实,本篇算是一个基础部分,为后面提到的lld(lowleveldiscovery)自动发现做铺垫。由于前面几部分也对基础的东西做了很多总结…

    2022年5月18日
    38
  • iOS 删除黑色边框线导航栏&删除搜索框的阴影边界线和中黑色文本输入框 - 解

    iOS 删除黑色边框线导航栏&删除搜索框的阴影边界线和中黑色文本输入框 - 解

    2022年1月15日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号