转自:http://www.cnblogs.com/yangtongnet/archive/2010/05/20/1740200.html
博主用JQuery+XML、JQuery+JSON两种方式列出了,处理后台数据的方法。很好,收藏了!
【Jquery + Xml】
如下代码是我查询IPInfo表中前10条数据,并以XML格式输出:
我在前台接收到数据后进行如下处理:
下面是输出结果:
result.xml 的结果集为:
看到这一串代码,那我接下来面对的问题就是去分析这一串代码,取出我所需要的数据,以前一直都是这样处理的(),就像这一段代码:
$(result).find("Table1").each(function() { ID += $(this).children("IPid").text() + "<br>"; }); 是要取出XML中的所有IPid的数据。
(顺便插入一句:因为用Jquery操作XML,所以代码相对比较简洁,如果用JS的话会较之麻烦一些。)
那我们接下来再看看Jquery是如何处理Json格式的数据的:
【Jquery + Json】
在处理之前,首先我们要做一件事,就是将数据库取出的数据转换成Json格式,可能已存在有多种转换方法,这里呢我就先说下自己的Json转换方法:
首先创建一个JsonHelper的类如下:
当然这里我们需要引用两个DLL文件(System.Runtime.Serialization.Json,System.ServiceModel.Web),当然这里直接添加添加.net引用,找到这两个DLL就OK了,然后我们需要创建一个实体类,以便用泛型操作,代码如下:
注意:如果要对该类进行序列化,一定要在类前面添加上“[DataContract]”,在属性前面添加上“[DataMember]”,这样才能被“DataContractJsonSerializer”序列化成JSON。
下面我们来看如何调用这个方法转换成Json格式的数据:
代码
就是如此调用:list.ToJson(),简单吧,下面看一下输出的结果:
标准的Json格式,呵呵,看了上面的代码,是不是很方便,我想下面的操作就更简单了,看下面的Jquery代码:
我们再来看一下 result的结果集:
result
{...}
[0]: {...}
[1]: {...}
[2]: {...}
[3]: {...}
[4]: {...}
[5]: {...}
[6]: {...}
[7]: {...}
[8]: {...}
[9]: {...}
result[0]
{...}
IPCity: ""
IPFrom: "0.0.0.0 "
IPFromNumber: "0"
IPid: 1
IPLocation: "IANA CZ88.NET"
IPTo: "0.255.255.255 "
IPToNumber: "16777215"
就像操作一个泛型一样简单,便捷