JSON和JSONP的区别总结如下:
-
JSON是一种数据格式的定义,JSONP则是数据传输的方式。一个是静止的,一个是动态的。
-
JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。
-
json的特点:
1)、基于纯文本,跨平台传递极其简单;
2)、Javascript原生支持,后台语言几乎全部支持;
3)、轻量级数据格式,占用字符数量极少,特别适合互联网传递;
4)、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;
5)、容易编写和解析,当然前提是你要知道数据结构;
4.jsonp的使用方法 :
JSONP的出现是为了解决Ajax跨域请求问题,所谓的跨域请求问题,即访问不同的域 (只要协议、域名、端口有任何一个不同,都被当作是不同的域) 的资源的时候会被拒绝。
JSONP传输方式的原理
因为在HTML标签中<script>、<img>、<iframe>三个标签的跨域访问不受限制,所以其实可以利用这三个标签,把原来直接通过Ajax请求结果数据的方式,换为请求返回一段js代码,而这段代码可以通过<script>标签插入到DOM结构中,从而被执行,比较特别的是这段js代码其实就是一个包装了JSON数据的JS函数。具体可以表述为下面代码:
$.getJSON(' http://example.com/data.php?callback=?,function(jsondata)'){//处理获得的json数据
});