快速业务通道

用JSON处理缓存 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

用JSON处理缓存

时间:2011-02-07 IBM Bakul L. Patel

数据验证是每个企业 Web 应用程序中最富于挑战性、日新月异的部分。通常验证元数据会使 JavaScript 模块中混入服务器端代码。在本文中,您将了解如何在服务器代码的帮助下将元数据缓存在客户端的优秀方法,服务器代码将提供 JSON(JavaScript Object Notation)形式的字符串化元数据。这种方法还允许以类似 Ajax 的方式来处理多值和多组属性。

每个应用程序的开发都是为了解决某个领域的问题。而每个领域都有自己的一套约束数据的规则和规范。应用程序将这些约束应用于数据时,约束也就成了验证。所有应用程序都需要验证用户输入的数据。

目前,应用程序一般都使用 if-else 语句组合来验证数据。这些语句包含了开发人员硬编码或通过服务器端代码置入的验证数据。通常,开发人员会使用服务器端代码来避免可能导致 JavaServer Page(JSP)的细微数据更改。

您可以使用 JavaScript Object Notation(JSON)来分组和缓存元数据,并使用 JavaScript 函数来访问元数据以验证用户输入。

JavaScript 中有分散的元数据时,您无法控制服务器将评估多少数据以及有多少数据传递到客户机。所有服务器端代码片段都将被评估并发送到服务器上。但是,使用 JSON 缓存数据时,您可以完全控制向客户机发送的元数据量,因为服务器端代码将生成 JSON 形式的元数据。这有助于仅将元数据发送至与看到或输入数据的用户相对应的客户机上。

您还可以使用 JSON 来缓存用户输入的数据。程序缓存数据后,将擦除数据字段而不是刷新屏幕,这与 Ajax 类似。通过这种方法,用户可以为同一属性输入另一组数据。

让我们一起来探究一下如何使用 JSON 来缓存元数据。

JSON 概览

使用 JSON(即 JavaScript Object Notation),将以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量,该变量随后将引用一个通过指定给该变量的字符串构建的对象。

例如,假定有一个 policy 对象,它拥有以下属性:

计划名称

描述

持续时间

您可以使用以下这种 JSON 形式的字符串来表示该 policy 对象:

{"Plane":{"Full Life Cover"}, "Description":{"The best life insurance plan"}, "Term":{"20 years"}}

如果将此字符串赋给任意一个 JavaScript 变量,则该变量将接受以这种对象为单位的数据。要访问数据,请提供需要访问的属性所在的路径。对于本例,将以上字符串赋给一个名为 policy 的变量:

var policy = {"Plane":{"Full Life Cover"}, "Description":{"The best life insurance plan"}, "Term":{"20 years"}}

将此字符串粘贴到 HTML 页面的标题部分中,然后编写以下警报:

alert(policy.Plan)

如果在任何支持 JavaScript 的浏览器中查看此页面,您都会看到显示策略计划的警报。

用JSON处理缓存(2)

时间:2011-02-07 IBM Bakul L. Patel

示例

为了演示 JSON 的性能,我们来看一个有 vehicle 对象列表的 person 对象和一个可以拥有一台或多台车辆的 person 对象。每台车辆都有以下属性:

品牌

注册码

CC

浏览器 UI 应当允许用户添加多台具有优秀应用性能的车辆(通常为固有要求)。每个属性都有一些与之关联的限制或验证规则。您需要指定以下规则:

品牌名称

品牌名称决不能包含数字。

品牌名称最多可包含两个单词,中间可加一个空格。

注册码

注册码必须全都是数字。

CC

CC 必须全都是数字。

CC 的最小值为 50,最大值为 5000。

将有三个与车辆属性相对应的输入字段,用户可在其中输入信息。接下来,您将看到

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号