JSON的基本思想是,把HTTP请求中的数据转换为字符类型。Web服务器返回的数据也采用字符格式,它先经过JavaScript的evalo函数,转换为网页上使用的数据格式。在后面介绍自动提示控件(Auto Suggest)时,有一个例子介绍它的用法。
虽然JSON有其优点,但是它还没有完全取代XML作为数据的表示方法,这主要是因为下面两个理由:
·很难把结构复杂的数据转换为字符类型。特别当数据是一个文档而不是单个数据时,情况更是如此。
·使用evalo要耗费资源,有时比XML,解析更耗费资源。每次调用evalo函数时,都要创建一个JavaScript引擎的实例,正是这个理由,人们反对在标准网页里使用这个函数。
现在有若干个JSON库,它们大大简化了数据转换为字符类型或字符转换为数据的过程。Douglas crockford的JSON库很受人们的欢迎。 我们介绍的第一个完全采用Ajax组件的例子是自动提示(AutoSuggest)的下拉列表,这是最早介绍Ajax用法的例子之一。它是由Google实验室设计的,访问
本章一共介绍三个实例。第一个实例比较简单,它验证某个信用卡的号码是否有效,它使用了一个简单的Web服务,和一小段JavaScript程序。第二个例子介绍一个功能完整的AutoSuggest文本框,当可选项太多使得使用下拉列表框不切实际时,这个AutoSuggest文本框就可以起作用。由于这个控件在很大范围内可以处理用户的输入,因此JavaScript程序比较长。最后一个例子说明了,如何在自己的网站里使用第三方的Web服务。
AutoSuggest这个控件,来自Nicholas Zakas的创意,并得到他的帮助。特在此鸣谢!
16.3.2 信用卡验证程序
第一个例子介绍Ajx在实际中的应用。它利用Luhn算法验证信用卡的号码是否有效。当前大多数信用卡的号码都采用某种模式,这种模式在防止假信用卡方面起到一定的作用。
展开