WEB中基于XMLHTTP的簡單實(shí)例分析_Xml教程
推薦:XML卷之實(shí)戰(zhàn)錦囊(2)——?jiǎng)討B(tài)查詢查詢功能是我們?cè)诰W(wǎng)站上見過的最普遍也是最常用的一個(gè)功能模塊了。以往的信息查詢都是連接到數(shù)據(jù)庫的,每一次點(diǎn)擊都必須要后臺(tái)數(shù)據(jù)庫的支持。然而很多情況下用戶往往只針對(duì)某一部分的數(shù)據(jù)進(jìn)行操
大家都知道可以通過post或者get獲得form表單的數(shù)據(jù),那么我們?nèi)绾螌?shí)現(xiàn)不刷新的提交直接獲得頁面上的數(shù)據(jù)呢?這就要借助xmlhttp協(xié)議了。xmlhttp是xmldom技術(shù)的一部分。
下面的代碼就是一個(gè)很簡單的例子,我們利用xmlhttp技術(shù)實(shí)現(xiàn)簡單的用戶登陸。
開始
1、簡單的登錄頁面
| 以下為引用的內(nèi)容: login.jsp 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); //可處理后臺(tái)返回的結(jié)果 } 姓名:<input type="text" id="name" /><br> 密碼:<input type="text" id="pwd" /><br> <input type="button" value="登錄" onclick="toServer()"> |
2、后臺(tái)的登錄處理頁面
| 以下為引用的內(nèi)容: do_login.jsp <% //讀取XMLHTTP流 java.io.BufferedReader br = request.getReader(); String str = ""; while (str != null) { str = br.readLine(); process (str); //可通過任何語言實(shí)現(xiàn)解析XML,進(jìn)行業(yè)務(wù)處理 } //返回信息 javax.servlet.ServletOutputStream sos = response.getOutputStream(); sos.print("login success" ); sos.close(); %> |
3、結(jié)果如下:
總結(jié)
與傳統(tǒng)的“提交-回發(fā)-重繪”式的web系統(tǒng)基本運(yùn)行結(jié)構(gòu)不同,我們可以通過通過XMLHTTP實(shí)現(xiàn)無刷新的客戶端直接與服務(wù)器交互,極大的提高用戶的感受度。
查考資料
XMLHTTP方法:
Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
bstrMethod:數(shù)據(jù)傳送方式,即GET或POST。
bstrUrl:服務(wù)網(wǎng)頁的URL。
varAsync:是否同步執(zhí)行。缺省為True,即同步執(zhí)行,但只能在DOM中實(shí)施同步執(zhí)行。
應(yīng)用中一般將其置為False,即異步執(zhí)行。
bstrUser:用戶名,可省略。
bstrPassword:用戶口令,可省略。
Send varBody
varBody:指令集。可以是XML格式數(shù)據(jù),也可以是字符串,流,或者一個(gè)無符號(hào)整數(shù)數(shù)組。也可以省略,讓指令通過Open方法的URL參數(shù)代入。
setRequestHeader bstrHeader, bstrValue
bstrHeader:HTTP 頭(header)
bstrValue:HTTP 頭(header)的值
如果Open方法定義為POST,可以定義表單方式上傳:
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP屬性:
onreadystatechange:在同步執(zhí)行方式下獲得返回結(jié)果的事件句柄。只能在DOM中調(diào)用。
responseBody:結(jié)果返回為無符號(hào)整數(shù)數(shù)組。
responseStream:結(jié)果返回為IStream流。
responseText :結(jié)果返回為字符串。
responseXML:結(jié)果返回為XML格式數(shù)據(jù)。
分享:ajax代理程序自動(dòng)判斷字符編碼由于ajax在跨域的訪問上有問題,目前最好的方法是做代理.寫了個(gè)代理程序和心得。 為了做ajax的代理,研究了下服務(wù)器端的xmlhttp并和客戶端的ajax中的xmlhttp做了個(gè)比較,后臺(tái)代碼是asp的。 服
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- WML開發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫
- WML教程之文本框控件Input
- 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門 - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測試模式 - XSL教程 - 5
- 相關(guān)鏈接:
- 教程說明:
Xml教程-WEB中基于XMLHTTP的簡單實(shí)例分析
。