如何使用 XMLHttpRequest 對(duì)象與服務(wù)器進(jìn)行通信

          在向服務(wù)器發(fā)送數(shù)據(jù)之前,我們有必要解釋一下 XMLHttpRequest 對(duì)象的三個(gè)重要的屬性。

          onreadystatechange 屬性

            onreadystatechange 屬性存有處理服務(wù)器響應(yīng)的函數(shù)。下面的代碼定義一個(gè)空的函數(shù),可同時(shí)對(duì) onreadystatechange 屬性進(jìn)行設(shè)置:
            xmlHttp.onreadystatechange=function()
            {
            // 我們需要在這里寫(xiě)一些代碼
            }
          readyState 屬性
            readyState 屬性存有服務(wù)器響應(yīng)的狀態(tài)信息。每當(dāng) readyState 改變時(shí),onreadystatechange 函數(shù)就會(huì)被執(zhí)行。
            這是 readyState 屬性可能的值:
            


          0請(qǐng)求未初始化(在調(diào)用 open() 之前)
          1請(qǐng)求已提出(調(diào)用 send() 之前)
          2請(qǐng)求已發(fā)送(這里通常可以從響應(yīng)得到內(nèi)容頭部)
          3請(qǐng)求處理中(響應(yīng)中通常有部分?jǐn)?shù)據(jù)可用,但是服務(wù)器還沒(méi)有完成響應(yīng))
          4請(qǐng)求已完成(可以訪問(wèn)服務(wù)器響應(yīng)并使用它)
          我們要向這個(gè) onreadystatechange 函數(shù)添加一條 If 語(yǔ)句,來(lái)測(cè)試我們的響應(yīng)是否已完成(意味著可獲得數(shù)據(jù)):
            xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { // 從服務(wù)器的response獲得數(shù)據(jù) } }

          responseText 屬性

            可以通過(guò) responseText 屬性來(lái)取回由服務(wù)器返回的數(shù)據(jù)。
            在我們的代碼中,我們將把時(shí)間文本框的值設(shè)置為等于 responseText:
            xmlHttp.onreadystatechange=function()
            { if(xmlHttp.readyState==4)
            { document.myForm.time.value=xmlHttp.responseText; }
            }
          要想把請(qǐng)求發(fā)送到服務(wù)器,我們就需要使用 open() 方法和 send() 方法。
            open() 方法需要三個(gè)參數(shù)。第一個(gè)參數(shù)定義發(fā)送請(qǐng)求所使用的方法(GET 還是 POST)。第二個(gè)參數(shù)規(guī)定服務(wù)器端腳本的 URL。第三個(gè)參數(shù)規(guī)定應(yīng)當(dāng)對(duì)請(qǐng)求進(jìn)行異步地處理。
            send() 方法可將請(qǐng)求送往服務(wù)器。如果我們假設(shè) HTML 文件和 ASP 文件位于相同的目錄,那么代碼是這樣的:
            xmlHttp.open("GET","time.asp",true);
            xmlHttp.send(null);

          posted on 2011-08-09 12:55 SkyDream 閱讀(347) 評(píng)論(0)  編輯  收藏 所屬分類: Ajax

          <2011年8月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 阜新市| 玉田县| 宁蒗| 灵川县| 雷山县| 乐业县| 怀宁县| 子长县| 崇仁县| 固原市| 开化县| 祁东县| 西充县| 新和县| 巨鹿县| 崇义县| 来凤县| 宁明县| 文山县| 八宿县| 楚雄市| 远安县| 湘阴县| 固安县| 塘沽区| 钟山县| 临江市| 酒泉市| 济宁市| 伊川县| 淮安市| 嘉黎县| 肇源县| 勐海县| 阿荣旗| 郧西县| 永福县| 南部县| 贵州省| 兰考县| 肥城市|