Ajax異步處理 js JQuery(post get) 的xml text處理

1、ajax概述:html

AJAX(Asynchronous Javascript And XML)翻譯成中文就是「異步Javascript和XML」。即便用Javascript語言與服務器進行異步交互,傳輸的數據爲XML(固然,傳輸的數據不僅是XML)。java

 

AJAX還有一個最大的特色就是,當服務器響應時,不用刷新整個瀏覽器頁面,而是能夠局部刷新。這一特色給用戶的感覺是在不知不覺中完成請求和響應過程。它能使用js訪問服務器,並且是異步訪問!ajax

與服務器異步交互;json

瀏覽器頁面局部刷新;後端

服務器給客戶端的響應通常是整個頁面,一個html完整頁面!但在ajax中由於是局部刷新,那麼服務器就不用再響應整個頁面!而只是數據!瀏覽器

text:純文本服務器

xml:你們都熟悉!!!異步

json:它是js提供的數據交互格式,它在ajax中最受歡迎!ide

 

一、獲取XMLHttpRequest對象

 

(用於發送請求,接收請求,處理請求)編碼

大多數瀏覽器都支持:var xmlHttp = new XMLHttpRequest();

IE6.0:var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

IE5.5以更早版本的IE:var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

經過方法獲取:

function createXMLHttpRequest() {
           try {
                  return new XMLHttpRequest();// 支持大部分瀏覽器

           catch (e) {

                 try {

                        return new ActiveXObject("Msxml2.XMLHTTP");// 使用ie6

                     } catch (e) {

                       try {

                              return new ActiveXObject("Microsoft.XMLHTTP");// 使用ie5.5

                             } catch (e) {

                          lert("你用的是什麼瀏覽器啊?");
                           throw e;
                }

              }

          }
}

二、打開與服務器的連接

    xmlHttp.open():用來打開與服務器的鏈接,它須要三個參數:

    請求方式:能夠是GET或POST

    請求的URL:指定服務器端資源,例如;/day23_1/AServlet

    請求是否爲異步:若是爲true表示發送異步請求,不然同步請求!

    xmlHttp.open("GET", "/day23_1/AServlet", true);

三、發送請求

    xmlHttp.send(null):若是不給可能會形成部份瀏覽器沒法發送!

    參數:就是請求體內容!若是是GET請求,必須給出null。

    經過get請求,進行數據提交,須要將數據拼接到url中,並且send爲null,後端經過getParameter獲取參數,編碼問題,    request.setCharacterEncoding();無效,由於數據在url中,不在請求體中。

四、監聽服務器響應

    在xmlxmlHttpHttp對象的一個事件上註冊監聽器:onreadystatechange

    對象一共有5個狀態:

    0狀態:剛建立,尚未調用open()方法;

    1狀態:請求開始:調用了open()方法,但尚未調用send()方法

    2狀態:調用完了send()方法了;

    3狀態:服務器已經開始響應,但不表示響應結束了!

4狀態:服務器響應結束!(一般咱們只關心這個狀態!!!)

    獲得xmlHttp對象的狀態:

    var state = xmlHttp.readyState;//多是0、一、二、三、4

    獲得服務器響應的狀態碼

    var status = xmlHttp.status;//例如爲200、40四、500

    獲得服務器響應的內容1

    var content = xmlHttp.responseText;//獲得服務器的響應的文本格式的內容

    var content = xmlHttp.responseXML;//獲得服務器的響應的xml響應的內容,它是Document對象了!

相關文章
相關標籤/搜索