我爱Aspx >> Asp.Net >> 用JSON技术加快AJAX程序开发借助于XMLHttpRequest对象,你可以从自己的基于AJAX的应用程序内部检索XML和JSON文件。典型情况下,你可以使用类似如下的交互:
| var req = new XMLHttpRequest();req.open("GET","http://localhost/addr?cardID=32", /*async*/true);req.onreadystatechange = myHandler;req.send(/*no params*/null); |
随着对Web服务器的不断响应,被你传递的处理器函数(在本例中是myHandler)被反复调用,这种特征提供给你一种时机?及早地取消事务,更新一个进度条,等等。通常,你只是在Web请求完成时才采取行动(应用返回的数据)。
为了处理上面地址卡程序的XML版本,myHandler的编码可以类似如下:
| function myHandler() {if (req.readyState == 4 /*完成*/) {//用第一个街道地址更新表单中的地址域var addrField = document.getElementById('addr');var root = req.responseXML;var addrsElem = root.getElementsByTagName('addresses')[0];var firstAddr = addrsElem.getElementsByTagName('address')[0];var addrText = fistAddr.firstChild;var addrValue = addrText.nodeValue;addrField.value = addrValue;}} |
注意,你不必自己分析XML文档,分析任务可以由XMLHttpRequest对象为你自动完成。之后,这个XMLHttpRequest对象使得由分析生成的DOM树可应用于responseXML属性中。然后,你可以借助这个responseXML属性并调用getElementsByTagName方法来查找文档中的addresses部分,但仅能使用找到的第一个(其实只有一个)。然后,你再次在找到的address上调用getElementsByTagName方法来查找下一层中的第一个address元素,然后再次使用找到的第一个address……然后,你得到该元素的第一个DOM子结点(它是一个文本结点)并得到该结点的值(它正是你想找的街道地址)。最后,你就可以在表单域中显示它。
显然,这是一项工作量很大的工作!现在,让我们试用一下JSON:
| function myHandler() {if (req.readyState == 4 /*complete*/) {var addrField = document.getElementById('addr');var card = eval('(' + req.responseText + ')');addrField.value = card.addresses[0].value;}} |
Ajax在.NET中与Server控件的交互[04-21]
整理Web开发-Ajax社区中有关Ajax..[04-21]
AjaxHelper Flat v0.7 下载[03-18]
用C#绘柱形图(owc编程)[04-21]
JS的IE和Firefox兼容性汇编[04-21]
编写高性能Web 应用程序的 10 个..[04-21]
ASP输出Word、Excel文件[04-21]
UTF-8与GB2312互转方法[04-21]
.net打包自动安装数据库[04-21]
解读C#中的规则表达式(正则表达..[04-21]
C#中的特性(Attributes)[04-21]
几个C#写的网络相关开源组件[04-21]
多个页面向同一目标页面PostBack..[04-21]