JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不是一回事儿:json是一种数据交换格式,而jsonp是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。也可以说jsonp是基于json的一种模式,一种方法。
在这里要说一下,json是js中的一个对象他和 var obj = {}是一样的只不过在量上是可以无限扩展的。简单地说,就是数组与对象的结合体。
json格式的优点就是:
- 他是一种轻量级易于跨平台传递数据的一种数据交换格式。
- json的支持面较为广泛,基本上能支持所有主流语言。
- json的可读性较强,容易编写和解析。
由于js文件是不受跨域与否的限制,因此想通过纯web端跨域访问数据时,只能在远程服务器上设法将json封装进js文件中。这就是jsonp的工作原理同时也是json和jsonp的区别。同时也要注意,jsonp只支持Get请求不支持Post。
参考网址Json与Jsonp的区别