JS的跨域访问

最近在网络上看了很多JS跨域访问的解决方案。。比较了一下,大致上有这么两种:

第一个是使用内嵌的iframe,由于iframe能够访问外部域,因此,便实现了一种简单的跨域访问。但是这里存在着一个问题,那就ParentWindow和childWindow之间不能直接进行交互,因为在跨域的情况下,由于安全性的原因,这种交互是被拒绝的。。这时候,人们便想到了使用anchor hash来实现。因为改变一个网页的anchor hash并不会使网页重新加载,,从而使网页的状态得到了保持。而网页本身可以通过一个计时器侦听自己hash的变化,从而改变自己的状态。。说白了,其实就是使用anchor hash来进行跨域的交互。。

这种方法现在用的很少,下面介绍另一种比较流行的办法:JSONP

这种方式实际上是使用script标签来进行跨域的访问。它的原理实质上就是通过script标签来对javascript文档的动态解析来说实现。。当我们要求实现AJAX跨域访问时,必须忘掉方便的XMLHttpRequest,而只使用动态生成的script,下面的一个例子是对JSONP方法的一个包装,来模拟ajax:(使用script的一个限制是它只支持get请求,这就限制了它只能传递少量的数据)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值