目录(已经更新的文章会有连接,从7月25日开始,每2到3天更新一篇):
Asp.Net+Jquery.Ajax详解1-开篇(2012.07.25发)
Asp.Net+Jquery.Ajax详解2-$.Load(2012.07.26发)
Asp.Net+Jquery.Ajax详解3-$.get和$.post(2012.07.30发)
Asp.Net+Jquery.Ajax详解4-$.getJSON(2012.07.31发)
Asp.Net+Jquery.Ajax详解5-$.getScript(2012.08.04发)
Asp.Net+Jquery.Ajax详解6-$.ajaxSetup(2012.08.06发)
Asp.Net+Jquery.Ajax详解7-全局Ajax事件(2012.08.09发)
Asp.Net+Jquery.Ajax详解8-核心$.ajax(2012.08.12发)
Asp.Net+Jquery.Ajax详解9-serialize和serializeArray(2012.08.15发)
Asp.Net+Jquery.Ajax详解10-JSON和XML+写在最后(2012.08.20发,结束啦!)
以前,XML是程序员的宠儿,是数据传输、API、AJAX应用等方面的不二选择,,特别是遇到AJAX应用的时候,XMLHttpRequest会检查返回数据的MIME类型,如果是text/xml类型,XMLHttpRequest就会运行XML Parser来解析返回的文档,并在内存中构建出对应的DOM树,之后,你可以用JavaScript标准的DOM方法来操作DOM树。由于众所周知DOM的诟病,这显然不是有效率的方法。另外一个问题是,如果你想使用JavaScript对象而不是直接用XML数据的话,你还得自己遍历整个DOM树来创建相应对象。
于是JSON横空出世.
JSON提供了一种更适合AJAX应用的标准数据交换格式。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
JSON有很多优势,但也存在缺点,而XML虽然确实存在不少问题,两者对比,推荐看老K博客
本文重在演示用Jquery.ajax获取后台的json数据和xml数据,两者对比参考文中推荐博客。
客户端代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JsonXmlTest.aspx.cs" Inherits="JqueryAjaxTest.JsonTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("document").ready(function () {
$.getJSON(
"Data/JsonData.txt",
function (JsonData) {
$.each(JsonData.employees, function (i, item) {
$("#result1").append(item.firstName + " " + item.lastName + "<br/>");
})
})
$.ajax({
url: "Data/XmlData.xml",
success: function (XmlData) {
var XmlContent = "";
//尝试一下这样的each用法
$(XmlData).find("name").each(function () {
XmlContent += $(this).children("firstName").text() + " " + $(this).children("lastName").text() + "<br>";
});
$("#result2").html(XmlContent);
},
dataType: "xml"
});
})
</script>
</head>
<body>
<div id="result1">
</div>
<hr />
<div id="result2">
</div>
</body>
</html>
服务器xml文件内容
<?xml version='1.0' encoding='UTF-8'?>
<employees>
<name>
<firstName>Bill</firstName>
<lastName>Gates</lastName>
</name>
<name>
<firstName>George</firstName>
<lastName>Bush</lastName>
</name>
<name>
<firstName>Thomas</firstName>
<lastName>Carter</lastName>
</name>
</employees>
服务器json文件内容
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
因为使用jquery,所以在客户端解析xml和json看上去没有太大区别,但如果使用原生javascript,对比效果就明显了,看这篇文章Java+javascript+xml和java+javascript+json对比
个人感觉xml在服务器是无与伦比的,但json在客户端的优势也是很明显的。xml和json孰优孰劣,并不是可以依据个人喜好就轻易得出结论的。一个优秀的程序员,两者都该熟练掌握,随机应变。
《Asp.Net+Jquery.Ajax详解》系列文章,写在最后的话:
终于按照我在第一篇中的规划彻底完成了这一系列文章,回头看看,内容其实挺简单的,但是依然认认真真地把它完了。如果有什么不准确的地方,后续还会做纠正和补充。
其实,开始的时候想把它写到一篇文章里,那样势必会导致“粗大全”的结果,很可能每一点都说不清楚,后来又考虑到如果没有一点基础的人看,肯定看得模棱两可,最后还是决定一个实例一个实例的上,一点点地说,说了10篇,对不同的读者,不见得很清楚明白,也不见得是最好的解决方案,但我已经尽自己所能说得清楚点,说得更合理些。内容涉及不多,可以帮助读者获得一个还说得过去的Jquery.ajax基础。不看功能看苦劳吧,呵呵。
还是强调一下,这是jquery.ajax基础,灵活运用到项目中才是真本事。加油,大家。加油,贾琳。
分享到:
相关推荐
Jquery.Pagination.js + Jquery.Ajax + ASP.NET----无刷新分页Pagination 1.5.1,是在原作者基础上修改的,因为Pagination 1.5.1与它的低版本有很大的区别,所以在此实例中增加了新版的使用方法
asp.net ajax调用aspx、ajax调用ashx处理类方法、ajax调用webservice方法,返回多种数据类型等xml、html等。
Flex+ASP.NET+Web应用开发实战详解-源代码
---------------------------------------------------------------------------- 描述: 本 WebIM 系统采用 B/S 模式,使用浏览器 ajax 实现即时...客户端使用 AJAX 心跳包拉数据,应用 JQuery 框架实现页面效果;
asp.net+query实现文件ajax上传。
asp.net+jquery+ajax无刷新用户注册,登录,修改密码
ASP.NET+SQL同学录源代码-课程设计-简洁的ASP.NET同学录程序,提供给大家方便大学学习使用。这个是为课程设计用的 ,有需要的同学可以试试。www.houlove.com供稿
ASP.NET.jQuery.Cookbook.pdf ASP.NET.jQuery.Cookbook.pdf 国外惊胆asp.net 结合jquery的书籍 高清电子版本,顺便锻炼英语水平。 本人从不吭兄弟
1.无刷新分页控件,以Northwind数据库为示例, 2.支持多种分页样式选择,也可以自己修改源代码自定义 3.可以单击任意字段排序 4.MsSql数据库封装访问类,可以修改代码应用于其他数据库 5.继承自IHttpHandler接口...
本例采用asp.net C#+ jquery +ajax的实现 简单实用的例子 供大家学习
Asp.net 上传 Jquery.Uploadify HTML控件+Jquery.Uploadify 支持一次上传多个文件
此文件是借助别人的基础上稍作修改 .net+xml+ajax.dll实现省市县三级联动无刷新代码例子
ASP.NET+jquery实现AJAX滚动滚动条加载数据的下拉列表控件
大型Ajax聊天室(ASP.NET+jQuery) ASP.NET+JQuery实现Ajax无刷新技术,程序比较简单,只有一个ajax.aspx是动态页面,其余全是静态页面。因此,本程序是您学习Ajax的好范例,其使用的JQuery插件,也是目前Ajax技术...
采用jquery.uploadify插件作为前台上传,服务台用c#异步处理
asp.net+Access+Ajax模仿google.rar asp.net+Access+Ajax模仿google.rar asp.net+Access+Ajax模仿google.rar
asp.net+jquery+ json 分页 两种分页样式
asp.net+jquery_json,
asp.net+jquery显示数据+分页