掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

Ajax核心:XMLHTTP組件(jiàn)相(xiàng)關技術(shù)資料

2019/3/30 11:28:55

Ajax核心:XMLHTTP組件(jiàn)相(xiàng)關技術(shù)資料

一、數據庫遠程管理(lǐ)技術(shù)

  基于互聯網的(de)廣域網現代應用(yòng)中的(de)一個(gè)重要環節是數據庫遠程監控。首先簡單回顧一下互聯網上(shàng)的(de)數據庫遠程管理(lǐ)技術(shù)的(de)發展過程和(hé)方式: (推薦文(wén)章(zhāng):AJAX專題)

  早期通過編寫CGI-BIN程序模塊進行(xíng)數據庫遠程管理(lǐ)。但(dàn)CGI-BIN的(de)運行(xíng)速度慢(màn),維護很不方便,現在已經基本被棄用(yòng)。

  這幾年使用(yòng)組件(jiàn)對象模型(Component Object Model, COM)的(de)應用(yòng)非常多,效果也(yě)很好。但(dàn)如(rú)果使用(yòng)的(de)是第三方服務器(qì)(筆(bǐ)者的(de)網站就是建立在第三方的(de)虛拟主機上(shàng)),服務器(qì)方往往因爲保密或其它商業(yè)原因不允許用(yòng)戶注冊自己的(de)組件(jiàn)。

  近年來由微軟公司推出的(de).NET平台和(hé)SUN公司的(de)J2EE平台都(dōu)是非常高(gāo)檔的(de)數據庫遠程管理(lǐ)與服務平台。都(dōu)能(néng)提供優質的(de)多層(n-Tier)應用(yòng)服務。 其中,.NET的(de)簡單對象訪問協議(Simple Object Access Protocol, SOAP)使用(yòng)超文(wén)本傳輸協議(Hypertext Transfer Protocol, HTTP)和(hé)擴展标記語言(Extensible Markup Language, XML)技術(shù)實現跨系統(例如(rú)Windows - Linux)的(de)通訊服務方式已經廣爲開(kāi)發商接受和(hé)使用(yòng)。許多大(dà)型應用(yòng),例如(rú)企業(yè)資源計(jì)劃(Enterprise resource planning, ERP)等都(dōu)建立在這樣的(de)大(dà)型平台之上(shàng)。 但(dàn)對于中小(xiǎo)型應用(yòng),比如(rú)一個(gè)網站的(de)建設和(hé)維護,這種大(dà)型應用(yòng)平台就顯得有(yǒu)些尾大(dà)不掉,開(kāi)銷也(yě)過于龐大(dà)。

  曾經在互聯網技術(shù)和(hé)Java技術(shù)方面一度落後的(de)微軟公司在XML應用(yòng)開(kāi)發則走在了前頭。她的(de)XML解析器(qì)(MSXML)中的(de)XMLHTTP協議是一個(gè)非常方便實用(yòng)的(de)客戶/服務通訊管道。綜合運用(yòng)XMLHTTP以及ActiveX數據對象(ActiveX Data Objects, ADO/ADOX)可(kě)以簡單方便地(dì)實現數據庫遠程管理(lǐ)。

  二、數據庫遠程管理(lǐ)體系

  數據庫遠程管理(lǐ)的(de)任務流程是:

  1、客戶端向服務端發出數據庫結構和(hé)數據的(de)查詢或修改指令。

  2、服務端接受并執行(xíng)有(yǒu)關指令并向客戶端返回結果。

  3、客戶端接受并顯示服務端返回的(de)指令執行(xíng)結果。

  實現數據庫遠程管理(lǐ)的(de)二個(gè)主要關鍵環節是:

  1、客戶端與服務端之間的(de)指令上(shàng)傳和(hé)結果下傳的(de)數據通道,由XMLHTTP協議實現。

  2、服務端前沿與數據庫之間的(de)指令傳送和(hé)結果返回,由起著(zhe)中間層作用(yòng)的(de)ADO/ADOX接口完成。

  三、XMLHTTP的(de)使用(yòng)

  顧名思義,XMLHTTP是個(gè)傳送XML格式數據的(de)超文(wén)本傳輸協議。

  實際上(shàng),XMLHTTP的(de)數據傳輸過程更爲靈活一些:

  它上(shàng)傳的(de)指令可(kě)以是XML格式數據,也(yě)可(kě)以是字符串,流,或者一個(gè)無符号整數數組。還可(kě)以是URL的(de)參數。

  它下達的(de)結果可(kě)以是XML格式數據,也(yě)可(kě)以是字符串,流,或者一個(gè)無符号整數數組。

  詳情可(kě)參閱文(wén)末鏈接。

  客戶端調用(yòng)XMLHTTP的(de)過程很簡單,隻有(yǒu)5個(gè)步驟:

  1、創建XMLHTTP對象

  2、打開(kāi)與服務端的(de)連接,同時定義指令發送方式,服務網頁(URL)和(hé)請求權限等。

  客戶端通過Open命令打開(kāi)與服務端的(de)服務網頁的(de)連接。與普通HTTP指令傳送一樣,可(kě)以用(yòng)"GET"方法或"POST"方法指向服務端的(de)服務網頁。

  3、發送指令。

  4、等待并接收服務端返回的(de)處理(lǐ)結果。

  5、釋放(fàng)XMLHTTP對象

  XMLHTTP方法

  Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

  bstrMethod:數據傳送方式,即GET或POST。

  bstrUrl:服務網頁的(de)URL。

  varAsync:是否同步執行(xíng)。缺省爲True,即同步執行(xíng),但(dàn)隻能(néng)在DOM中實施同步執行(xíng)。應用(yòng)中一般将其置爲False,即異步執行(xíng)。

  bstrUser:用(yòng)戶名,可(kě)省略。

  bstrPassword:用(yòng)戶口令,可(kě)省略。

  Send varBody

  varBody:指令集。可(kě)以是XML格式數據,也(yě)可(kě)以是字符串,流,或者一個(gè)無符号整數數組。也(yě)可(kě)以省略,讓指令通過Open方法的(de)URL參數代入。

  setRequestHeader bstrHeader, bstrValue

  bstrHeader:HTTP 頭(header)

  bstrValue:HTTP 頭(header)的(de)值

  如(rú)果Open方法定義爲POST,可(kě)以定義表單方式上(shàng)傳xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

  XMLHTTP屬性

  onreadystatechange:在同步執行(xíng)方式下獲得返回結果的(de)事件(jiàn)句柄。隻能(néng)在DOM中調用(yòng)。

  responseBody:結果返回爲無符号整數數組。

  responseStream:結果返回爲IStream流。

  responseText :結果返回爲字符串。

  responseXML:結果返回爲XML格式數據。

  下面是本文(wén)附件(jiàn)源程序中的(de)一個(gè)應用(yòng)示例:

  Function GetResult(urlStr)

  Dim xmlHttp

  Dim retStr

  Set xmlHttp = CreateObject("Msxm


深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04

咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号