浅谈跨域,与解决方法

您所在的位置:网站首页 主域名访问子域名跨域 浅谈跨域,与解决方法

浅谈跨域,与解决方法

2024-06-07 10:56| 来源: 网络整理| 查看: 265

首先我们要知道什么情况下是跨域,比如我现在网页a,但是我现在需要从网页a的域名区请求网页b的资源,并且网页a与网页b协议或者域名或者端口有任何一个不一样,那么这就是跨域 ps:其实跨域在后端中是不存在的,跨域是浏览器对前台的一个监控,跨域错误是浏览器对前端的一种保护

那么什么是同源?同源就是指的是在一个域里,也就是两个页面的协议,域名,端口都一样,这就是同源。

跨域的解决方法; 1.使用document.domain 因为在cookie里有这么一个东西,叫做domian,它可以判断cookie是作用在哪个域中,如果是非同源的网页,那么cookie是无法作用的,所有我们就可以设置相同的document.domain,这样就可以共享cookie了 注意:这个方法只能对主域相同,子域不同的场景才能进行跨域 ,主域就是域名主体.域名后缀,如:主域.com,而之前的就是子域,如:子域.主域.com 2.通过window.postMessage() 跨域

//页面a www.a.com window.open("www.b.com"); //页面b www.b.com window.addEventListener('message',(e)=>{ const data=e.data; if(e.origin.include('a.com')){ e.source.postMessage("我是网页b,我收到了来自网页a的消息") } }

3.JSONP 因为web页面上调用js文件不会受到跨域影响,而且src这个属性也可以跨域,所以我们就用通过script元素,和一个指定的回调参数,向服务器发送请求,服务器收到请求后,将回调参数作为函数名来包裹JSONP数据,这样客户端就可以用自己的函数来处理数据了 4.CORS 是跨域资源分享 如果是从http://127.0.0.1:8848来的请求的话,即允许跨域操作



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3