JSONP跨域恳求实例详解_

JSONP跨域恳求实例详解_

ID:63497066

大小:13.04 KB

页数:4页

时间:2021-09-08

JSONP跨域恳求实例详解__第1页
JSONP跨域恳求实例详解__第2页
JSONP跨域恳求实例详解__第3页
JSONP跨域恳求实例详解__第4页
资源描述:

《JSONP跨域恳求实例详解_》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、JSONP跨域恳求实例详解_JSOP简介JSONP(JSONwithPadding)是JSON的一种“用法模式”,可用于解决主流扫瞄器的跨域数据访问的问题。由于同源策略,一般来说位于server1.example.com的网页无法与不是server1.example.com的服务器沟通,而HTML的script元素是一个例外。利用script元素的这个开放策略,网页可以得到从其他来源动态产生的JSON资料,而这种用法模式就是所谓的JSONP。用JSONP抓到的资料并不是JSON,而是任意的JavaScript

2、,用JavaScript直译器执行而不是用JSON解析器解析。跨域恳求的方式有许多种:1.iframe2.document.domain3.window.name4.script5.XDomainRequest(IE8+)6.XMLHTTPRequest(Firefox3.5+)7.postMessage(HTML5)8.后台代理9....它们有各自的优缺点,返回的数据格式也各不同,应依据需求慎重选择。比如iframe返回html片段就比较适合,费老劲用它返回JSON就得不偿失了。这篇开头我将打造一个有用的跨

3、域恳求工具Sjax。用法script恳求的最大缺点,挑战是错误处理。比如404错误,它不象XMLHTTPRequest能精准的返回状态码404。我把这个放在最终一篇。本系列主要描述以上列举的方式4,即通过script返回JSON格式数据数据。这种方式现在称为JSONP。JSON是目前前后台沟通用法最流行,也最广泛的格式之一。相对于早期的AJAX返回XML(AJAX中的X就是XML),JSON显得更轻量级,没有多余的Tag标记,解析也是原生的。XML返回到前端后先转成文档,通过DOMAPI一层层的解析。解析DO

4、M是开销比较大的,尤其在早期的IE版本中(IE6/7/8),corejs与dom沟通的代价是很大的。JSONP的实现思路很简洁1.前端创建script标记,设置src,添加到head中(你可以往body中添加)2.后台返回一个js变量jsonp,这个jsonp就是恳求后的JSON数据3.回调完成后删除script标记(还有一些清理工作如避开部分扫瞄器内存泄露等)接口Sjax.load(url,//跨越恳求的URLsuccess,//回调函数,必需定义一个形参,用于接收后台返回的全局变量jsonp(商定后台返回

5、如jsonp={...}结构)timestamp,//传true会加一个时间戳,防止缓存,默认不加);示例:!DOCTYPEHTMLhtmlheadmetacharset="utf-8"titlesjax_0.1.jsbysnandy/titlescriptsrc="l这个html实现一个最简洁的前后台交互功能,点击按钮“GetName”,猎取到name后显示在段落P上。clk函数中调用Sjax.load方法,Sjax中的S指script。之前我的Ajax系列中用法的Ajax命名,这里就用法了Sjax。恳求的

6、后台url是jsonp.js,它返回如下jsonp={name:'jack'};由于是测试,这里用法最简洁的方式实现。恳求的后台其实不必是js文件,可以是php,java等任何后台语言,它们可能会连接数据库进行一系列的业务查询。总之它最终返回的结构必需变量jsonp,这个变量就是一个js对象,至于有多简单则无需关注。以上所述是我给大家介绍的JSONP跨域恳求实例详解,盼望对大家有所关心...

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。