最简单最实用的ajax(一)基础通用ajax <转>

最简单最实用的ajax(一)基础通用ajax

最通用的ajax实现整理,不调用jquery,asp.net ajax等框架,最原始ajax实现,兼容IE,FireFox。
三种最常用的数据格式(字符串、XML、JSON)的ajax实现。

提纲:
一.
AJAX 概述
二.建立xmlHTTPRequest对象
三.AJAX 异步获取字符串
四.AJAX 处理xml格式数据
    (1)服务器端返回xml
    (2)客户端接收xml并通过javascript处理xml
五.AJAX 处理json格式数据
    (1)服务器端返回json字符串
    (2)客户端接收数据并通过javascript处理json字符串

一.AJAX 概述
AJAX全称:AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML)
Ajax的原理:简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。

二.建立并使用xmlHTTPRequest对象
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function getXMLHttpRequest()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            if(window.XMLHttpRequest)
 4最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 5最简单最实用的ajax(一)基础通用ajax <转>                return new window.XMLHttpRequest();
 6最简单最实用的ajax(一)基础通用ajax <转>            }

 7最简单最实用的ajax(一)基础通用ajax <转>            else
 8最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 9最简单最实用的ajax(一)基础通用ajax <转>                var progIDs = ['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
10最简单最实用的ajax(一)基础通用ajax <转>                for(var i = 0; i < progIDs.length; i++)
11最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
12最简单最实用的ajax(一)基础通用ajax <转>                    try
13最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                    最简单最实用的ajax(一)基础通用ajax <转>{
14最简单最实用的ajax(一)基础通用ajax <转>                        var xmlHttp = new ActiveXObject(progIDs[i]);
15最简单最实用的ajax(一)基础通用ajax <转>                        return xmlHttp;
16最简单最实用的ajax(一)基础通用ajax <转>                    }

17最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                    catch (ex) 最简单最实用的ajax(一)基础通用ajax <转>{}
18最简单最实用的ajax(一)基础通用ajax <转>                }

19最简单最实用的ajax(一)基础通用ajax <转>                return null;
20最简单最实用的ajax(一)基础通用ajax <转>            }

21最简单最实用的ajax(一)基础通用ajax <转>        }
最简单最实用的ajax(一)基础通用ajax <转>
先判断浏览器是否有原生的xmlHTTPRequest对象。
如果有,直接返回window.XMLHttpRequest对象(IE7,IE8,FireFox);
如果没有,实用ActiveX的方式构造
xmlHTTPRequest对象(IE6?)(ps:我本地试了下,好像也是直接返回XMLHttpRequest对象)。
这样就得到了一个XMLHttpRequest对象
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function sendRequest(action)
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            var xhr = getXMLHttpRequest();
 4最简单最实用的ajax(一)基础通用ajax <转>            xhr.open("POST","XMLHttpResponse.aspx?act="+action)
 5最简单最实用的ajax(一)基础通用ajax <转>            if (action == "string")
 6最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 7最简单最实用的ajax(一)基础通用ajax <转>                xhr.onreadystatechange = function()
 8最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
 9最简单最实用的ajax(一)基础通用ajax <转>                    getString.apply(xhr);
10最简单最实用的ajax(一)基础通用ajax <转>                }

11最简单最实用的ajax(一)基础通用ajax <转>            }

12最简单最实用的ajax(一)基础通用ajax <转>            else if (action == "xml")
13最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
14最简单最实用的ajax(一)基础通用ajax <转>                xhr.onreadystatechange = function()
15最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
16最简单最实用的ajax(一)基础通用ajax <转>                    getXml.apply(xhr);
17最简单最实用的ajax(一)基础通用ajax <转>                }

18最简单最实用的ajax(一)基础通用ajax <转>            }

19最简单最实用的ajax(一)基础通用ajax <转>            else if (action == "json")
20最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
21最简单最实用的ajax(一)基础通用ajax <转>                xhr.onreadystatechange = function()
22最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
23最简单最实用的ajax(一)基础通用ajax <转>                    getJson.apply(xhr);
24最简单最实用的ajax(一)基础通用ajax <转>                }

25最简单最实用的ajax(一)基础通用ajax <转>            }

26最简单最实用的ajax(一)基础通用ajax <转>            xhr.send(null);
27最简单最实用的ajax(一)基础通用ajax <转>        }
最简单最实用的ajax(一)基础通用ajax <转>
通过传参给服务器端,来决定服务器端返回的数据类型。
根据参数决定在xmlHTTPRequest的onreadystatechange事件被触发以后调用哪个回调函数。

看一下XMLHttpResponse.aspx页面里做了什么事情。
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>protected void Page_Load(object sender, EventArgs e)
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>    最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>        if (this.Request.QueryString["act"!= null && this.Request.QueryString["act"].ToString().Trim().Length > 0)
 4最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 5最简单最实用的ajax(一)基础通用ajax <转>            string action = this.Request.QueryString["act"].ToString().Trim();
 6最简单最实用的ajax(一)基础通用ajax <转>            if (action == "string")
 7最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 8最简单最实用的ajax(一)基础通用ajax <转>                this.ResponseString();      //返回文本字符串
 9最简单最实用的ajax(一)基础通用ajax <转>            }

10最简单最实用的ajax(一)基础通用ajax <转>            else if (action == "xml")
11最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
12最简单最实用的ajax(一)基础通用ajax <转>                this.ResponseXML();         //返回xml文本    
13最简单最实用的ajax(一)基础通用ajax <转>            }

14最简单最实用的ajax(一)基础通用ajax <转>            else if (action == "json")
15最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
16最简单最实用的ajax(一)基础通用ajax <转>                this.ResponseJSON();        //返回json字符串
17最简单最实用的ajax(一)基础通用ajax <转>            }

18最简单最实用的ajax(一)基础通用ajax <转>        }

19最简单最实用的ajax(一)基础通用ajax <转>    }
最简单最实用的ajax(一)基础通用ajax <转>

三.AJAX 异步获取字符串

服务器端返回字符串的代码
1最简单最实用的ajax(一)基础通用ajax <转>protected void ResponseString()
2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>    最简单最实用的ajax(一)基础通用ajax <转>{
3最简单最实用的ajax(一)基础通用ajax <转>        Response.Write("Return a string from server.");
4最简单最实用的ajax(一)基础通用ajax <转>        Response.End();
5最简单最实用的ajax(一)基础通用ajax <转>    }

客户端获取并处理字符串
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function getString()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            if (this.readyState == 4)
 4最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 5最简单最实用的ajax(一)基础通用ajax <转>                if(this.status == 200)
 6最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
 7最简单最实用的ajax(一)基础通用ajax <转>                    var strtest = this.responseText;
 8最简单最实用的ajax(一)基础通用ajax <转>                    var showDIV = document.getElementById("showHTML");
 9最简单最实用的ajax(一)基础通用ajax <转>                    showDIV.innerHTML = "<ul><li>"+strtest+"</li></ul>";
10最简单最实用的ajax(一)基础通用ajax <转>                   showDIV.style.background = "#EE6600";
11最简单最实用的ajax(一)基础通用ajax <转>                }

12最简单最实用的ajax(一)基础通用ajax <转>                else
13最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
14最简单最实用的ajax(一)基础通用ajax <转>                    throw new Error();
15最简单最实用的ajax(一)基础通用ajax <转>                }

16最简单最实用的ajax(一)基础通用ajax <转>            }

17最简单最实用的ajax(一)基础通用ajax <转>        }
最简单最实用的ajax(一)基础通用ajax <转>
this及上文建立的xmlHTTPRequest对象。

四.
AJAX 处理xml格式数据

(1)服务器端返回xml
服务器端构建xml数据的两种方式:
第一种:通过System.IO命名空间下的StringWriter对象和System.Xml命名空间下的XmlTextWriter对象
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>protected void ResponseXML()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>    最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>        StringWriter sw = new StringWriter();
 4最简单最实用的ajax(一)基础通用ajax <转>        XmlTextWriter xtw = new XmlTextWriter(sw);
 5最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteStartDocument();
 6最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteStartElement("Person");
 7最简单最实用的ajax(一)基础通用ajax <转>
 8最简单最实用的ajax(一)基础通用ajax <转>        //Name节点
 9最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteStartElement("Name");
10最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteString("Candle");
11最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteEndElement();
12最简单最实用的ajax(一)基础通用ajax <转>        //Age节点
13最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteStartElement("Age");
14最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteString("254");
15最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteEndElement();
16最简单最实用的ajax(一)基础通用ajax <转>        //Job节点
17最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteStartElement("Job");
18最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteString("Software Engineer");
19最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteEndElement();
20最简单最实用的ajax(一)基础通用ajax <转>
21最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteEndElement();
22最简单最实用的ajax(一)基础通用ajax <转>        xtw.WriteEndDocument();
23最简单最实用的ajax(一)基础通用ajax <转>        string xmlstr = sw.ToString().Replace("utf-8""gb2312").Replace("utf-16""gb2312");
24最简单最实用的ajax(一)基础通用ajax <转>        Response.ContentType = "text/xml";
25最简单最实用的ajax(一)基础通用ajax <转>        Response.Charset = "GB2312";
26最简单最实用的ajax(一)基础通用ajax <转>        Response.Write(xmlstr);
27最简单最实用的ajax(一)基础通用ajax <转>        Response.End();
28最简单最实用的ajax(一)基础通用ajax <转>    }
最简单最实用的ajax(一)基础通用ajax <转>
第二种:直接拼接字符串
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>protected void ResponseXML()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>    最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>        string xmlstr = @"<?xml version='1.0' encoding='gb2312' ?>
 4最简单最实用的ajax(一)基础通用ajax <转>                        <Persons>
 5最简单最实用的ajax(一)基础通用ajax <转>                            <Person>
 6最简单最实用的ajax(一)基础通用ajax <转>                                <Name>
 7最简单最实用的ajax(一)基础通用ajax <转>                                    <Firstname>Candle</Firstname>
 8最简单最实用的ajax(一)基础通用ajax <转>                                    <Lastname>Zhu</Lastname>
 9最简单最实用的ajax(一)基础通用ajax <转>                                </Name>
10最简单最实用的ajax(一)基础通用ajax <转>                                <Age>25</Age>
11最简单最实用的ajax(一)基础通用ajax <转>                                <Job>Software Engineer</Job>
12最简单最实用的ajax(一)基础通用ajax <转>                                <Salary>10000</Salary>
13最简单最实用的ajax(一)基础通用ajax <转>                            </Person>
14最简单最实用的ajax(一)基础通用ajax <转>                            <Person>
15最简单最实用的ajax(一)基础通用ajax <转>                                <Name>
16最简单最实用的ajax(一)基础通用ajax <转>                                    <Firstname>Kevin</Firstname>
17最简单最实用的ajax(一)基础通用ajax <转>                                    <Lastname>Zhu</Lastname>
18最简单最实用的ajax(一)基础通用ajax <转>                                </Name>
19最简单最实用的ajax(一)基础通用ajax <转>                                <Age>30</Age>
20最简单最实用的ajax(一)基础通用ajax <转>                                <Job>UI Designer</Job>
21最简单最实用的ajax(一)基础通用ajax <转>                                <Salary>10000</Salary>
22最简单最实用的ajax(一)基础通用ajax <转>                            </Person>
23最简单最实用的ajax(一)基础通用ajax <转>                        </Persons>";
24最简单最实用的ajax(一)基础通用ajax <转>
25最简单最实用的ajax(一)基础通用ajax <转>        Response.ContentType = "text/xml";
26最简单最实用的ajax(一)基础通用ajax <转>        Response.Charset = "GB2312";
27最简单最实用的ajax(一)基础通用ajax <转>        Response.Write(xmlstr);
28最简单最实用的ajax(一)基础通用ajax <转>        Response.End();
29最简单最实用的ajax(一)基础通用ajax <转>    }
最简单最实用的ajax(一)基础通用ajax <转>
(2)客户端接收xml并使用javascript处理xml
FireFox和IE对XML格式数据的函数有所不同,所以在对xml进行处理之前需要先判断浏览器类型,先定义一个判断
浏览器类型的函数。
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function getOs()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            var OsObject = "";
 4最简单最实用的ajax(一)基础通用ajax <转>            if(navigator.userAgent.indexOf("MSIE")>0
 5最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
 6最简单最实用的ajax(一)基础通用ajax <转>                return "MSIE";
 7最简单最实用的ajax(一)基础通用ajax <转>            }

 8最简单最实用的ajax(一)基础通用ajax <转>            if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
 9最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
10最简单最实用的ajax(一)基础通用ajax <转>                return "Firefox";
11最简单最实用的ajax(一)基础通用ajax <转>            }

12最简单最实用的ajax(一)基础通用ajax <转>            if(isSafari=navigator.userAgent.indexOf("Safari")>0
13最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
14最简单最实用的ajax(一)基础通用ajax <转>                return "Safari";
15最简单最实用的ajax(一)基础通用ajax <转>            }
 
16最简单最实用的ajax(一)基础通用ajax <转>            if(isCamino=navigator.userAgent.indexOf("Camino")>0)
17最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
18最简单最实用的ajax(一)基础通用ajax <转>                return "Camino";
19最简单最实用的ajax(一)基础通用ajax <转>            }

20最简单最实用的ajax(一)基础通用ajax <转>            if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)
21最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
22最简单最实用的ajax(一)基础通用ajax <转>                return "Gecko";
23最简单最实用的ajax(一)基础通用ajax <转>            }

24最简单最实用的ajax(一)基础通用ajax <转>        }

最简单最实用的ajax(一)基础通用ajax <转>
下面就是通过客户端获得并处理xml的函数了。
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function getXml()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            var osObject = getOs();
 4最简单最实用的ajax(一)基础通用ajax <转>            var strHTML = "";
 5最简单最实用的ajax(一)基础通用ajax <转>            var xmlDoc = null;  
 6最简单最实用的ajax(一)基础通用ajax <转>            var Firstname = "";
 7最简单最实用的ajax(一)基础通用ajax <转>            var Lastname = "";
 8最简单最实用的ajax(一)基础通用ajax <转>            var Age = "";
 9最简单最实用的ajax(一)基础通用ajax <转>            var Job = "";
10最简单最实用的ajax(一)基础通用ajax <转>            var Salary = "";            
11最简单最实用的ajax(一)基础通用ajax <转>           if (this.readyState == 4)
12最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
13最简单最实用的ajax(一)基础通用ajax <转>                if(this.status == 200)
14最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
15最简单最实用的ajax(一)基础通用ajax <转>                    var xmlDoc = this.responseXML;
16最简单最实用的ajax(一)基础通用ajax <转>                    var xmlPersons = xmlDoc.getElementsByTagName("Person");
17最简单最实用的ajax(一)基础通用ajax <转>                    for(var i = 0 ; i<xmlPersons.length; i++)
18最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                    最简单最实用的ajax(一)基础通用ajax <转>{
19最简单最实用的ajax(一)基础通用ajax <转>                        var person = xmlPersons[i];
20最简单最实用的ajax(一)基础通用ajax <转>                        if (osObject == "MSIE")
21最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                        最简单最实用的ajax(一)基础通用ajax <转>{
22最简单最实用的ajax(一)基础通用ajax <转>                            Firstname = person.getElementsByTagName("Firstname")[0].text;
23最简单最实用的ajax(一)基础通用ajax <转>                            Lastname = person.getElementsByTagName("Lastname")[0].text;
24最简单最实用的ajax(一)基础通用ajax <转>                            Age = person.getElementsByTagName("Age")[0].text;
25最简单最实用的ajax(一)基础通用ajax <转>                            Job = person.getElementsByTagName("Job")[0].text;
26最简单最实用的ajax(一)基础通用ajax <转>                            Salary = person.getElementsByTagName("Salary")[0].text; 
27最简单最实用的ajax(一)基础通用ajax <转>                        }

28最简单最实用的ajax(一)基础通用ajax <转>                        else
29最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                        最简单最实用的ajax(一)基础通用ajax <转>{
30最简单最实用的ajax(一)基础通用ajax <转>                            Firstname = person.getElementsByTagName("Firstname")[0].textContent;
31最简单最实用的ajax(一)基础通用ajax <转>                            Lastname = person.getElementsByTagName("Lastname")[0].textContent;
32最简单最实用的ajax(一)基础通用ajax <转>                            Age = person.getElementsByTagName("Age")[0].textContent;
33最简单最实用的ajax(一)基础通用ajax <转>                            Job = person.getElementsByTagName("Job")[0].textContent;
34最简单最实用的ajax(一)基础通用ajax <转>                            Salary = person.getElementsByTagName("Salary")[0].textContent; 
35最简单最实用的ajax(一)基础通用ajax <转>                        }

36最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<ul>";
37最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Firstname + Lastname + "</li>";
38最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Age + "</li>";
39最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Job + "</li>";
40最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Salary + "</li>";
41最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "</ul>";
42最简单最实用的ajax(一)基础通用ajax <转>                    }

43最简单最实用的ajax(一)基础通用ajax <转>                    var showDIV = document.getElementById("showHTML");
44最简单最实用的ajax(一)基础通用ajax <转>                    showDIV.innerHTML = strHTML;
45最简单最实用的ajax(一)基础通用ajax <转>                    showDIV.style.background = "#CCCCCC";  
46最简单最实用的ajax(一)基础通用ajax <转>                }

47最简单最实用的ajax(一)基础通用ajax <转>                else
48最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
49最简单最实用的ajax(一)基础通用ajax <转>                    throw new Error();
50最简单最实用的ajax(一)基础通用ajax <转>                }

51最简单最实用的ajax(一)基础通用ajax <转>            }
 
52最简单最实用的ajax(一)基础通用ajax <转>        }
最简单最实用的ajax(一)基础通用ajax <转>
通过var xmlDoc = this.responseXML就可以获得服务器端返回的xml数据并得到一个xml文本对象了。
值得注意FireFox和IE对xml对象处理的不同。
selectSingleNode("")、hasChild()等函数在FireFox下是无效的。(ps:这个问题卡了我N久,郁闷!)

五.
AJAX 处理json格式数据

(1)服务器端返回json字符串
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>protected void ResponseJSON()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>    最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>        //StringBuilder sb = new StringBuilder();
 4最简单最实用的ajax(一)基础通用ajax <转>        //sb.Append("{\"persons\":[");
 5最简单最实用的ajax(一)基础通用ajax <转>        //sb.Append("{\"Firstname\":\"Candle\",\"Lastname\":\"Zhu\",\"Age\":25,\"Job\":\"Software Engineer\",\"Salary\":10000},");
 6最简单最实用的ajax(一)基础通用ajax <转>        //sb.Append("{\"Firstname\":\"Kevin\",\"Lastname\":\"Zhu\",\"Age\":25,\"Job\":\"UI Designer\",\"Salary\":10000}");
 7最简单最实用的ajax(一)基础通用ajax <转>        //sb.Append("]}");
 8最简单最实用的ajax(一)基础通用ajax <转>
 9最简单最实用的ajax(一)基础通用ajax <转>        string jsonStr = @"{'persons':[
10最简单最实用的ajax(一)基础通用ajax <转>                            {'Firstname':'Candle','Lastname':'Zhu','Age':25,'Job':'Software Engineer','Salary':10000},
11最简单最实用的ajax(一)基础通用ajax <转>                            {'Firstname':'Kevin','Lastname':'Zhu','Age':25,'Job':'UI Designer','Salary':10000}
12最简单最实用的ajax(一)基础通用ajax <转>                           ]}";
13最简单最实用的ajax(一)基础通用ajax <转>        Response.Write(jsonStr);
14最简单最实用的ajax(一)基础通用ajax <转>        Response.End();
15最简单最实用的ajax(一)基础通用ajax <转>    }
最简单最实用的ajax(一)基础通用ajax <转>
json字符串可以在服务器端直接拼接即可
(2)客户端接收数据并通过javascript处理json字符串
最简单最实用的ajax(一)基础通用ajax <转>
 1最简单最实用的ajax(一)基础通用ajax <转>function getJson()
 2最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>        最简单最实用的ajax(一)基础通用ajax <转>{
 3最简单最实用的ajax(一)基础通用ajax <转>            var strHTML = "";
 4最简单最实用的ajax(一)基础通用ajax <转>            var Firstname = "";
 5最简单最实用的ajax(一)基础通用ajax <转>            var Lastname = "";
 6最简单最实用的ajax(一)基础通用ajax <转>            var Age = "";
 7最简单最实用的ajax(一)基础通用ajax <转>            var Job = "";
 8最简单最实用的ajax(一)基础通用ajax <转>            var Salary = ""
 9最简单最实用的ajax(一)基础通用ajax <转>            if (this.readyState == 4)
10最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>            最简单最实用的ajax(一)基础通用ajax <转>{
11最简单最实用的ajax(一)基础通用ajax <转>                if(this.status == 200)
12最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
13最简单最实用的ajax(一)基础通用ajax <转>                    var jsonStr = this.responseText;
14最简单最实用的ajax(一)基础通用ajax <转>                    var json = eval("("+jsonStr+")");
15最简单最实用的ajax(一)基础通用ajax <转>                    for (var i=0 ; i < json.persons.length; i++)
16最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                    最简单最实用的ajax(一)基础通用ajax <转>{
17最简单最实用的ajax(一)基础通用ajax <转>                        Firstname = json.persons[i].Firstname;
18最简单最实用的ajax(一)基础通用ajax <转>                        Lastname = json.persons[i].Lastname;
19最简单最实用的ajax(一)基础通用ajax <转>                        Age = json.persons[i].Age;
20最简单最实用的ajax(一)基础通用ajax <转>                        Job = json.persons[i].Job;
21最简单最实用的ajax(一)基础通用ajax <转>                        Salary = json.persons[i].Salary;
22最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<ul>";
23最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Firstname + Lastname + "</li>";
24最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Age + "</li>";
25最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Job + "</li>";
26最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "<li>" + Salary + "</li>";
27最简单最实用的ajax(一)基础通用ajax <转>                        strHTML += "</ul>";
28最简单最实用的ajax(一)基础通用ajax <转>                    }

29最简单最实用的ajax(一)基础通用ajax <转>                    var showDIV = document.getElementById("showHTML");
30最简单最实用的ajax(一)基础通用ajax <转>                    showDIV.innerHTML = strHTML;
31最简单最实用的ajax(一)基础通用ajax <转>                    showDIV.style.background = "#00ff00";
32最简单最实用的ajax(一)基础通用ajax <转>                }

33最简单最实用的ajax(一)基础通用ajax <转>                else
34最简单最实用的ajax(一)基础通用ajax <转>最简单最实用的ajax(一)基础通用ajax <转>                最简单最实用的ajax(一)基础通用ajax <转>{
35最简单最实用的ajax(一)基础通用ajax <转>                    throw new Error();
36最简单最实用的ajax(一)基础通用ajax <转>                }

37最简单最实用的ajax(一)基础通用ajax <转>            }

38最简单最实用的ajax(一)基础通用ajax <转>        }
最简单最实用的ajax(一)基础通用ajax <转>
可以看出在客户端处理json字符串要比处理xml方便很多,所以我觉得能用json的地方尽量用json吧!
原文地址:http://www.cnblogs.com/candle/archive/2009/08/09/common_ajax.html
 
 
本文转自温景良(Jason)博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/08/10/1542727.html,如需转载请自行联系原作者
上一篇:如何将Java工程导出成可以执行的jar


下一篇:内存管理相关函数 -- Linux【转】