189 8069 5689

跨域请求之JSONP-创新互联

跨域恳求的方法有很多种,

成都创新互联是一家专注于成都网站建设、网站设计与策划设计,磁县网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:磁县等地区。磁县做网站价格咨询:028-86922220

1,iframe

2,document.domain

3,window.name

4,script

5,XDomainRequest (IE8+)

6,XMLHTTPRequest (Firefox3.5+)

7,postMessage (HTML5)

8,后台代理

...

它们有各自的优缺点,回来的数据格局也各不同,应根据需要慎重挑选。比方iframe回来html片段就对比适合,费老劲用它回来JSON就因小失大了。这篇开端我将打造一个有用的跨域恳求东西Sjax。运用script恳求的大缺点,挑战是过错处理。比方404过错,它不象XMLHTTPRequest能精确的回来状况码404。我把这个放在最终一篇。

本系列首要描绘以上列举的方法4,即通过script回来JSON格局数据数据。这种方法如今称为JSONP。JSON是目前前后台交流运用最盛行,也最广泛的格局之一。相对于前期的AJAX回来XML(AJAX中的X即是XML),JSON显得更轻量级,没有剩余的Tag符号,解析也是原生的。XML回来到前端后先转成文档,通过DOM API一层层的解析。解析DOM是开支对比大的,尤其在前期的IE版别中(IE6/7/8),core js与dom交流的价值是很大的。

JSONP的实现思路很简单

1, 前端创立script符号,设置src,添加到head中(你可以往body中添加)。

2, 后台回来一个js变量jsonp,这个jsonp即是恳求后的JSON数据。

3, 回调完成后删去script符号(还有一些整理作业如防止有些浏览器内存泄露等)。

接口

Sjax.load(

  url,// 跨过恳求的URL

  success, // 回调函数,有必要界说一个形参,用于接纳后台回来的全局变量jsonp (约好后台回来如jsonp = {...}结构)

  timestamp,// 传true会加一个时间戳,防止缓存,默许不加

);

  

  

  sjax_0.1.js by snandy

  

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:跨域请求之JSONP-创新互联
网页地址:http://cdxtjz.cn/article/jpgej.html

其他资讯