天天看點

最簡單最實用的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全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML)

Ajax的原理:簡單來說通過XmlHttpRequest對象來向伺服器發異步請求,從伺服器獲得資料,然後用javascript來操作DOM而更新頁面。

二.建立并使用xmlHTTPRequest對象

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

 1

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function getXMLHttpRequest()

 2

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

{

 3

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(window.XMLHttpRequest)

 4

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

 5

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return new window.XMLHttpRequest();

 6

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            }

 7

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            else

 8

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

 9

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                var progIDs = ['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];

10

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                for(var i = 0; i < progIDs.length; i++)

11

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

12

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    try

13

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

14

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        var xmlHttp = new ActiveXObject(progIDs[i]);

15

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        return xmlHttp;

16

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    }

17

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    catch (ex) 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

{}

18

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                }

19

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return null;

20

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

21

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        }

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

先判斷浏覽器是否有原生的xmlHTTPRequest對象。

如果有,直接傳回window.XMLHttpRequest對象(IE7,IE8,FireFox);

如果沒有,實用ActiveX的方式構造xmlHTTPRequest對象(IE6?)(ps:我本地試了下,好像也是直接傳回XMLHttpRequest對象)。

這樣就得到了一個XMLHttpRequest對象。

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function sendRequest(action)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var xhr = getXMLHttpRequest();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            xhr.open("POST","XMLHttpResponse.aspx?act="+action)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if (action == "string")

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                xhr.onreadystatechange = function()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    getString.apply(xhr);

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            else if (action == "xml")

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    getXml.apply(xhr);

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            else if (action == "json")

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

22

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

23

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    getJson.apply(xhr);

24

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

25

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

26

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            xhr.send(null);

27

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

通過傳參給伺服器端,來決定伺服器端傳回的資料類型。

根據參數決定在xmlHTTPRequest的onreadystatechange事件被觸發以後調用哪個回調函數。

看一下XMLHttpResponse.aspx頁面裡做了什麼事情。

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

protected void Page_Load(object sender, EventArgs e)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        if (this.Request.QueryString["act"] != null && this.Request.QueryString["act"].ToString().Trim().Length > 0)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            string action = this.Request.QueryString["act"].ToString().Trim();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                this.ResponseString();      //傳回文本字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                this.ResponseXML();         //傳回xml文本    

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                this.ResponseJSON();        //傳回json字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

    }

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

伺服器端傳回字元串的代碼

1

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

protected void ResponseString()

2

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

3

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.Write("Return a string from server.");

4

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.End();

5

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

用戶端擷取并處理字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function getString()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if (this.readyState == 4)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                if(this.status == 200)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var strtest = this.responseText;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var showDIV = document.getElementById("showHTML");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    showDIV.innerHTML = "<ul><li>"+strtest+"</li></ul>";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                   showDIV.style.background = "#EE6600";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                else

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    throw new Error();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

this及上文建立的xmlHTTPRequest對象。

(1)伺服器端傳回xml

伺服器端建構xml資料的兩種方式:

第一種:通過System.IO命名空間下的StringWriter對象和System.Xml命名空間下的XmlTextWriter對象

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

protected void ResponseXML()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        StringWriter sw = new StringWriter();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        XmlTextWriter xtw = new XmlTextWriter(sw);

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteStartDocument();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteStartElement("Person");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //Name節點

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteStartElement("Name");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteString("Candle");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteEndElement();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //Age節點

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteStartElement("Age");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteString("254");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //Job節點

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteStartElement("Job");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteString("Software Engineer");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        xtw.WriteEndDocument();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        string xmlstr = sw.ToString().Replace("utf-8", "gb2312").Replace("utf-16", "gb2312");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.ContentType = "text/xml";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.Charset = "GB2312";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.Write(xmlstr);

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

28

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

第二種:直接拼接字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        string xmlstr = @"<?xml version='1.0' encoding='gb2312' ?>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        <Persons>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            <Person>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Name>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                    <Firstname>Candle</Firstname>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                    <Lastname>Zhu</Lastname>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                </Name>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Age>25</Age>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Job>Software Engineer</Job>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Salary>10000</Salary>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            </Person>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                    <Firstname>Kevin</Firstname>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Age>30</Age>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                                <Job>UI Designer</Job>

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        </Persons>";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

29

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

(2)用戶端接收xml并使用javascript處理xml

FireFox和IE對XML格式資料的函數有所不同,是以在對xml進行處理之前需要先判斷浏覽器類型,先定義一個判斷

浏覽器類型的函數。

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function getOs()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var OsObject = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(navigator.userAgent.indexOf("MSIE")>0) 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return "MSIE";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return "Firefox";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(isSafari=navigator.userAgent.indexOf("Safari")>0) 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return "Safari";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            } 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(isCamino=navigator.userAgent.indexOf("Camino")>0)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return "Camino";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                return "Gecko";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

下面就是通過用戶端獲得并處理xml的函數了。

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function getXml()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var osObject = getOs();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var strHTML = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var xmlDoc = null;  

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Firstname = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Lastname = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Age = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Job = "";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Salary = "";            

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

           if (this.readyState == 4)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var xmlDoc = this.responseXML;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var xmlPersons = xmlDoc.getElementsByTagName("Person");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    for(var i = 0 ; i<xmlPersons.length; i++)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        var person = xmlPersons[i];

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        if (osObject == "MSIE")

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Firstname = person.getElementsByTagName("Firstname")[0].text;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Lastname = person.getElementsByTagName("Lastname")[0].text;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Age = person.getElementsByTagName("Age")[0].text;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Job = person.getElementsByTagName("Job")[0].text;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Salary = person.getElementsByTagName("Salary")[0].text; 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        }

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        else

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

30

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Firstname = person.getElementsByTagName("Firstname")[0].textContent;

31

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Lastname = person.getElementsByTagName("Lastname")[0].textContent;

32

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Age = person.getElementsByTagName("Age")[0].textContent;

33

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Job = person.getElementsByTagName("Job")[0].textContent;

34

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            Salary = person.getElementsByTagName("Salary")[0].textContent; 

35

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

36

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "<ul>";

37

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "<li>" + Firstname + Lastname + "</li>";

38

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "<li>" + Age + "</li>";

39

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "<li>" + Job + "</li>";

40

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "<li>" + Salary + "</li>";

41

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        strHTML += "</ul>";

42

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

43

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

44

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    showDIV.innerHTML = strHTML;

45

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    showDIV.style.background = "#CCCCCC";  

46

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

47

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

48

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

49

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

50

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

51

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

52

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

通過var xmlDoc = this.responseXML就可以獲得伺服器端傳回的xml資料并得到一個xml文本對象了。

值得注意FireFox和IE對xml對象處理的不同。

selectSingleNode("")、hasChild()等函數在FireFox下是無效的。(ps:這個問題卡了我N久,郁悶!)

(1)伺服器端傳回json字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

protected void ResponseJSON()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //StringBuilder sb = new StringBuilder();

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //sb.Append("{\"persons\":[");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //sb.Append("{\"Firstname\":\"Candle\",\"Lastname\":\"Zhu\",\"Age\":25,\"Job\":\"Software Engineer\",\"Salary\":10000},");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //sb.Append("{\"Firstname\":\"Kevin\",\"Lastname\":\"Zhu\",\"Age\":25,\"Job\":\"UI Designer\",\"Salary\":10000}");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        //sb.Append("]}");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        string jsonStr = @"{'persons':[

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            {'Firstname':'Candle','Lastname':'Zhu','Age':25,'Job':'Software Engineer','Salary':10000},

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                            {'Firstname':'Kevin','Lastname':'Zhu','Age':25,'Job':'UI Designer','Salary':10000}

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                           ]}";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

        Response.Write(jsonStr);

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

json字元串可以在伺服器端直接拼接即可

(2)用戶端接收資料并通過javascript處理json字元串

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

function getJson()

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

            var Salary = ""; 

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var jsonStr = this.responseText;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    var json = eval("("+jsonStr+")");

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    for (var i=0 ; i < json.persons.length; i++)

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        Firstname = json.persons[i].Firstname;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        Lastname = json.persons[i].Lastname;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        Age = json.persons[i].Age;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        Job = json.persons[i].Job;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                        Salary = json.persons[i].Salary;

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

                    showDIV.style.background = "#00ff00";

最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax
最簡單最實用的ajax(一)基礎通用ajax <轉> 最簡單最實用的ajax(一)基礎通用ajax

可以看出在用戶端處理json字元串要比處理xml友善很多,是以我覺得能用json的地方盡量用json吧!

繼續閱讀