文档章节

说说JSON和JSONP,也许你会豁然开朗

Bob_Zheng
 Bob_Zheng
发布于 2015/12/23 15:10
字数 653
阅读 92
收藏 9
 前言:

 

由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。

当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX。

 

说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。

但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。而这就是本文将要讲述的内容。

 

JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?一个是描述信息的格式,一个是信息传递双方约定的方法。

 

既然随便聊聊,那我们就不再采用教条的方式来讲述,而是把关注重心放在帮助开发人员理解是否应当选择使用以及如何使用上。

小小的广告一下,该篇文章是在自己群里与Sencha Touch 2的开发者们一起探讨ST2数据交互模型时有感而发写出来的因此如果您对Mobile Web App开发有兴趣的话,欢迎加入Sencha Touch 交流 QQ 群 213119459 。

 

 什么是JSON?

 

前面简单说了一下,JSON是一种基于文本的数据交换方式,或者叫做数据描述格式,你是否该选用他首先肯定要关注它所拥有的优点。

 


本文转载自:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html

共有 人打赏支持
Bob_Zheng
粉丝 4
博文 56
码字总数 8727
作品 0
珠海
私信 提问

暂无文章

解析Nuxt.js Vue服务端渲染摸索

本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Nuxt.js 十分简单易用。一个简...

前端攻城老湿
14分钟前
1
0
深入解析React中的元素、组件、实例和节点

React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。 React 中的元素、组件、实例和节点,是React中关系密切的...

前端攻城小牛
30分钟前
2
0
菜鸟网络三面面经(java开发岗):Spring boot+JVM+线程池+中间件

一面 1、HaspMap底层原理?HaspTable和ConcurrentHashMap他们之间的相同点和不同点? 2、由上题提到锁的问题 3、MySQL的表锁&行锁&乐观锁&悲观锁,各自的使用场景 4、Java线程锁有哪些,各自的...

别打我会飞
34分钟前
4
0
NCL入门

;***这两行指令必须加载,类似于c语言中的库函数load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"begin ......

voole
38分钟前
1
0
程序员该如何把握黄金五年!

在Java业界流行着一种说法——黄金5年,就是从程序员入职时算起,前五年的工作选择直接影响整个职业生涯的职业发展和薪资走向。如何把握这五年,从一个刚入行的菜鸟蜕变成一个处事不惊的大佬...

James-
47分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部