前端处理跨域(最全面的解释)
前端处理跨域(最全面的解释)
前端处理跨域(最全面的解释)
首先明确一点,跨域是在浏览器产生的,服务器之间不产生跨越,脱离了浏览器,跨域是不存在的。跨域只存在于开发环境,就是我们写代码的时候,在真正的生产环境中是不存在跨域的,前端可以通过代理的方式帮我们实现跨越。我们在用运行项目的时候,浏览器会为我们生成一个开发服务器。地址就是我们npm run serve之后产生的那个。之所以存在跨域的原因,是因为我们的静态资源在开发服务器上,而要访问的api在另一台服务器上。在开发服务器上配置一个代理,同时我们的静态资源(我们写的那些代码)也是在开发环境上的,当代理和静态资源在同一个服务器上的时候,浏览器访问的时候就不存在跨域的问题。当浏览器发起请求时,先通过代理再发送给服务器,服务器返回请求时先给代理,再给浏览器,这样浏览器是感觉不到静态资源和代理分布在两个服务器上,而代理和服务器之间是不存在跨域问题的,因为前面说过跨域只存在于浏览器。
下面就说一下will如何处理关于。
需要先在项目中创建一个名为vue.config.js的文件,注意名字一定一定不能错,而且这个文件是在src下面的,即地址为:src/vue.config.js
**有一点需要特别强调一下,一定是当以/api开头的时候服务器需要代理到目标地址➕url,而不是替代,关于这点图片中有一个例子可以说明。很多人感觉是替换掉,因为他们还配置了另一个东东。pathRewrite: {
‘^/api’: '/‘
}
这种意思是重写了地址。也就是用/替代掉/api才是真实的接口地址!!!即服务器的接口地址中没有api,这也就是我们为什么会感觉是替换的意思,而不是直接加在后边的感觉!!!
————————————————
版权声明:本文为CSDN博主「_处女座程序员的日常」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42931285/article/details/107300219