首页IT科技vue解决跨域的几种办法(vue项目中常用解决跨域的方法)

vue解决跨域的几种办法(vue项目中常用解决跨域的方法)

时间2025-06-21 00:02:32分类IT科技浏览5320
导读:一、什么是跨域?...

一            、什么是跨域?

跨域问题的出现是因为浏览器的同源策略问题            。所谓同源就是必须有以下三个相同点:协议相同                  、主机相同      、端口相同                  。如果其中有一项不同            ,即出现非同源请求                  ,就会产生跨域      。当我们请求一个接口的时候      ,出现如:Access-Control-Allow-Origin 字眼的时候说明请求跨域了

二         、如何解决跨域?

跨域的解决方案:

jsonp

cors

Node中间件代理(两次跨域) 即 Proxy

nginx反向代理 CORS支持所有类型的HTTP请求         ,是跨域HTTP请求的根本解决方案

JSONP只支持GET请求                  ,JSONP的优势在于支持老式浏览器         ,以及可以向不支持CORS的网站请求数据         。

不管是Node中间件代理还是nginx反向代理      ,主要是通过同源策略对服务器不加限制                  。

日常工作中                  ,用得比较多的跨域方案是cors和nginx反向代理
主要解释CROS和Proxy两种方式 1                  、CROS CROS是 Cross-Origin Resource Sharing的缩写            ,翻译过来就是跨域资源共享的意思         。它由一系列传输的HTTP头组成   ,这些HTTP头会决定浏览器是否阻止前端 JavaScript代码获取跨域请求的响应      。 CORS的实现比较简单方便                  ,只需要增加一些 HTTP头               ,让服务器能声明允许的访问来源                  。只要后端实现了 CROS就实现了跨域            。 2         、Proxy(代理) 通过启动本地服务器进行代理转发目标服务器   。而跨域只针对于浏览器,对于node服务发出的请求是不会出来跨域的               ,从而解决了跨域的问题                  。 在vue.config.js文件 1      、可配置多个不同的proxy devServer: { proxy: { /api: {//代理标识                  ,一般是每个接口前的相同部分 target: http://23.15.11.15:8000, // 这里写的是访问接口的域名和端口号 changeOrigin: true, // 允许跨域请求 pathRewrite: { // 重写路径   ,替换请求地址中的指定路径 ^/api: /user } }, /login: { target: http://23.15.11.15:8000, changeOrigin: true, pathRewrite:{ ^/login: //替换成空 } } } }, 示例: http://localhost:8080/api/test --> http://23.15.11.15:8000/user/test http://localhost:8080/login/index–> http://23.15.11.15:8000/index 2                  、对所有的接口都代理 devServer: { proxy: http:/www.ljc.com } 示例: http://localhost:8080/api/test --> http://www.ljc.com/api/test http://localhost:8080/login/index–> http://www.ljc.com/login/index

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
视差产生的现象是什么(【CSS】面试官问我视差滚动怎么实现?我懵了…) 文章采集器app(遇见它,轻松解决文章采集难题)