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

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

时间2025-08-05 10:40:16分类IT科技浏览5648
导读:一、什么是跨域?...

一              、什么是跨域?

跨域问题的出现是因为浏览器的同源策略问题            。所谓同源就是必须有以下三个相同点:协议相同                  、主机相同       、端口相同                     。如果其中有一项不同              ,即出现非同源请求                  ,就会产生跨域      。当我们请求一个接口的时候       ,出现如: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
zblog火车头发布模块(快速掌握zblog火车头采集技巧,提升博客内容质量)