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

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

时间2025-09-19 14:40:55分类IT科技浏览6196
导读:一、什么是跨域?...

一              、什么是跨域?

跨域问题的出现是因为浏览器的同源策略问题                。所谓同源就是必须有以下三个相同点:协议相同                      、主机相同        、端口相同                      。如果其中有一项不同              ,即出现非同源请求                      ,就会产生跨域      。当我们请求一个接口的时候        ,出现如: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
phpcms程序(phpcms怎么新建栏目)