json和jsonp

JSON是一种基于文本的数据交换方式。

JSON优点:

1、基于纯文本,跨平台传递极其简单;

2、Javascript原生支持,后台语言几乎全部支持;

3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;

4、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;

5、容易编写和解析;

JSON思路:

1、Ajax直接请求普通文件存在跨域无权限访问的问题;

2、而Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域能力,比如<script><img><iframe>);

3、于是可以判断,当前阶段如果想通过纯web端(ActiveX控件、服务端代理、属于未来的HTML5之Websocket方式不算)跨域访问数据就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理

4、JSON被js原生支持,在客户端几乎可以随心所欲的处理这种格式的数据;

5、解决方案即:web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件服务器动态生成JSON文件,目的就在于把客户端需要的数据装入进去

6、这种获取远程数据的方式看起来非常像AJAX,其实并不一样。

7、为了便于客户端使用数据,逐渐形成了一种非正式传输协议,称作JSONP该协议一要点就是允许用户传递一个callback参数给服务端,服务端返回数据时将这个callback参数作为函数名来包裹住JSON数据,客户端就可随意定制自己的函数来自动处理返回数据

详细参考: 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例

简单的jsonp基本代码: TODO?

results matching ""

    No results matching ""