[WEB開發] 基於XMLHTTP的簡單一實例

來源:互聯網
上載者:User
web|xml 樊歡 java愛好者。Email :heydaymail@hotmail.comBlog :http://heyday.blogone.net2005-8-23

引言 大家都知道可以通過post或者get獲得form表單的資料,那麼我們如何?不重新整理的提交直接獲得頁面上的資料呢?這就要藉助xmlhttp協議了。xmlhttp是xmldom技術的一部分。

 下面的代碼就是一個很簡單的例子,我們利用xmlhttp技術實現簡單的使用者登陸。

 

開始

 1.簡單的登入頁面

login.jsp

<script>function toServer(){    var xml = "<root>"+              "<name>"+document.all('name').value+"</name>"+              "<pwd>"+document.all('pwd').value+"</pwd>"+              "</root>";    //    var XMLSender = new ActiveXObject("Microsoft.XMLHTTP");    XMLSender.Open("POST",'do_login.jsp',false);    XMLSender.send((xml));    alert(XMLSender.responseText);  //可處理後台返回的結果}

 </script>姓名:<input type="text" id="name" /><br>密碼:<input type="text" id="pwd" /><br><input type="button" value="登入" >

 2.背景登入處理頁面

do_login.jsp

<%  //讀取XMLHTTP流       java.io.BufferedReader br =  request.getReader();       String str = "";       while (str != null) {            str = br.readLine();             process (str); //可通過任何語言實現解析XML,進行業務處理       }     //返回資訊      javax.servlet.ServletOutputStream sos = response.getOutputStream();      sos.print("login success");      sos.close();%>

 3.結果如下:

 

總結     與傳統的“提交-回傳-重繪”式的web系統基本運行結構不同,我們可以通過通過XMLHTTP實現無重新整理的用戶端直接與伺服器互動,極大的提高使用者的感受度。

 

查考資料

XMLHTTP方法:

Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

    bstrMethod:資料傳送方式,即GET或POST。

    bstrUrl:服務網頁的URL。

    varAsync:是否同步執行。預設為True,即同步執行,但只能在DOM中實施同步執行。

     應用中一般將其置為False,即非同步執行。

    bstrUser:使用者名稱,可省略。

    bstrPassword:使用者口令,可省略。

 

Send varBody

    varBody:指令集。可以是XML格式資料,也可以是字串,流,或者一個不帶正負號的整數數組。也可以省略,讓指令通過Open方法的URL參數代入。

     

setRequestHeader bstrHeader, bstrValue

    bstrHeader:HTTP 頭(header)

    bstrValue:HTTP 頭(header)的值

    如果Open方法定義為POST,可以定義表單方式上傳:

    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

     

XMLHTTP屬性:

onreadystatechange:在同步執行方式下獲得返回結果的事件控制代碼。只能在DOM中調用。

responseBody:結果返回為不帶正負號的整數數組。

responseStream:結果返回為IStream流。

responseText :結果返回為字串。 responseXML:結果返回為XML格式資料。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。