快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
方式将该字符串发送至服务器。这种方法要比第一种方法好得多。

用JSON处理缓存(5)

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

JSON、数据缓存和 Ajax 功能

当使用 JSON 将数据缓存到客户端时,系统将在用户每次单击 Add Vehicle 按钮时更新数据缓存对象。用于完成此项任务的 JavaScript 函数看起来可能跟 清单 5 一样。

清单 5. 用于将车辆数据添加到 JavaScript 对象中以进行客户端缓存的函数

function addVehicleData() {    var brand = //get vehicle brand;   var regNo = //get registration number;     var cc = //get cc;     vehicleData[vehicleData.length] = new Object();    vehicleData[vehicleData.length].brandName = new Object();   vehicleData[vehicleData.length].brandName = brand;   //same way update other two properties }

在这里,vehicleData 是用于在用户装入页面时进行初始化的 JavaScript 变量。它被初始化为一个新的数组对象,该数组对象为空或者含有用户先前输入的车辆的车辆元素。

当此函数将数据保存到 JavaScript 对象中后,程序可以调用另一个函数来清空输入字段以允许用户输入新数据。

在此类应用程序中,要求用户输入出现次数最少或出现次数最多的多组或多值属性。您可以将这些限制置入 JSON 元数据对象中。在这种情况下,先前的元数据对象将变为 清单 6 中所示的代码。

清单 6. 带有出现次数限制的 JSON 元数据对象

var vehicleValidationsMetadata = {    "MIN_OCC":{0},    "MAX_OCC":{10},    "MAX_OCC_MSG":{"...."},    "MIN_OCC_MSG":{".....},    //Everything else is the same }

然后,addVehicleData() 函数将先验证数据的出现次数,然后在仅当总出现次数未超出允许的限制时再将数据添加到 JavaScript 对象中。清单 7 显示了检查方法。

清单 7. JSON 元数据对象限制检查

function addVehicleData() {   if(vehicleData.length == vehicleValidationsMetadata.MAX_OCC-1) {       alert(vehicleValidationsMetadata.MAX_OCC_MSG);    }   //Everything else is the same }

当用户提交一个页面时调用的函数实际上用于验证最少的出现次数。这种方法的最大好处是屏幕不需要刷新以输入新车辆数据。提供此类静态屏幕曾经是 Ajax 技术的主要目标,而您现在用 JSON 也能完成此目标。这是关于更新 JSON 数据对象和通过 JavaScript 处理 HTML DOM 树的全部内容。用户响应时间是最小值,因为所有操作仅在客户端上执行。您可以使用 JSON 来为应用程序提供 Ajax 功能。

当用户单击 Save 按钮时,程序将调用另一个 JavaScript 函数,该函数将把此 JSON 对象 字符串化 并将其存储到程序提交到服务器上的隐藏表字段中。JSON.js(请参阅 参考资料)有一个 JSON.stringify() 函数,该函数将获取 JavaScript 对象作为输入并返回字符串输出。

服务器端必须能够理解 JSON 形式的字符串并生成一个服务器端对象,以处理和保存数据。Web 站点 http://www.json.org/java/index.html 提供了一个 Java API,该 API 用于处理基于 Java 的应用程序的大部分需求。

结束语

您在本文中看到了 JSON 的强大用途。归结如下:

JSON 提供了一种优秀的面向对象的方法,以便将元数据缓存到客户机上。

JSON 帮助分离了验证数据和逻辑。

JSON 帮助为 Web 应用程序提供了 Ajax 的本质。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号