华域联盟 Frontpage 详解基于浏览器同源策略的几种跨域方式

详解基于浏览器同源策略的几种跨域方式

Flash跨域

这是一种比较老的跨域方式,现在基本不使用了,要是有兴趣可以自己去看看,在这里就不做讨论。

服务器中转代理

由于同源策略只是浏览器的限制,服务器不会受到同源策略的限制,所以我们可以发送请求的时候,可以设置一个代理服务器,这个代理服务器和我们当前的url同源,首先请求到该同源的服务器,然后由同源的服务器重定向到我们要访问的url,由于服务器和服务器之前不受同源策略的限制,所以即使不是同源的也可以不受限制的访问。

服务器中转代理也是我们常用的一种方式。

JsonP跨域。

JsonP跨域,是我们经常使用到的一种跨域方式。想必大家都有这样的经历,在script中使用,src属性,引入外部资源,比如jQuery,稍微注意以下就能看到请求的url其实和我们本地的url不同源的,但是为什么我们却可以请求到资源呢? 这是因为src属性具有跨域的能力。凡是拥有src这个属性的标签都拥有跨域的能力,而且都是GET请求比如<script>、<img>、<iframe>

使用方法

因为我们无法监控通过<script>src属性是否把数据获取完成,所以我们需要做一个处理。一般是我们向后端传递参数的时候,传一个处理跨域获取数据的函数,服务端会根据参数cb的值返回 对应的内容。

function doJSON(data){}
var scri = document.createElement('script')
scri.src = 'http://xxx' + '?cd =' +doJSON

这样后台返给我们的数据像这样: doJSON(data), 这样在我们的页面中就会自动执行我们定义好的方法,而且方法的参数就是我们想要的数据,我们就可以在该方法中处理相关业务逻辑。

document.domain

我们可以在页面中设置documentl.domain,但是这只是针对基础域名相同的情况。例如 在bj.58.com与tj.58.com 中设置document.domain = '58.com',那么只要基础域名是58.com,就可以访问这两个页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文由 华域联盟 原创撰写:华域联盟 » 详解基于浏览器同源策略的几种跨域方式

转载请保留出处和原文链接:https://www.cnhackhy.com/138231.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

FrontPage怎么添加选项按钮? FrontPage选项按钮添加方法

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部