麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

XMLHTTP對象應用開發的初體驗

2024-09-05 20:54:58
字體:
來源:轉載
供稿:網友
MSXML中提供了Microsoft.XMLHTTP對象,能夠完成從數據包到Request對象的轉換以及發送任務。創建XMLHTTP對象的語句如下:

Set objXML = CreateObject("Msxml2.XMLHTTP") 或

Set objXML = CreateObject(“Microsoft.XMLHTTP”)

' Or, for version 3.0 of XMLHTTP, use:

' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")


  對象創建后調用Open方法對Request對象進行初始化,語法格式為:

poster.open http-method, url, async, userID, password

  Open方法中包含了5個參數,前三個是必要的,后兩個是可選的(在服務器需要進行身份驗證時提供)。參數的含義如下所示:

http-method: HTTP的通信方式,比如GET或是 POST

url: 接收XML數據的服務器的URL地址。通常在URL中要指明 ASP或CGI程序

async: 一個布爾標識,說明請求是否為異步的。如果是異步通信方式(true),客戶機就不等待服務器的響應;如果是同步方式(false),客戶機就要等到服務器返回消息后才去執行其他操作

userID 用戶ID,用于服務器身份驗證

password 用戶密碼,用于服務器身份驗證

  XMLHTTP對象的Send方法

  用Open方法對Request對象進行初始化后,調用Send方法發送XML數據:

poster.send XML-data

  Send方法的參數類型是Variant,可以是字符串、DOM樹或任意數據流。發送數據的方式分為同步和異步兩種。在異步方式下,數據包一旦發送完畢,就結束Send進程,客戶機執行其他的操作;而在同步方式下,客戶機要等到服務器返回確認消息后才結束Send進程。

XMLHTTP對象中的readyState屬性能夠反映出服務器在處理請求時的進展狀況。客戶機的程序可以根據這個狀態信息設置相應的事件處理方法。屬性值及其含義如下表所示:

說明
0 Response對象已經創建,但XML文檔上載過程尚未結束
1 XML文檔已經裝載完畢
2 XML文檔已經裝載完畢,正在處理中
3 部分XML文檔已經解析
4 文檔已經解析完畢,客戶端可以接受返回消息

  客戶機處理響應信息

  客戶機接收到返回消息后,進行簡單的處理,基本上就完成了C/S之間的一個交互周期。客戶機接收響應是通過XMLHTTP對象的屬性實現的:

● responseTxt:將返回消息作為文本字符串;

● responseXML:將返回消息視為XML文檔,在服務器響應消息中含有XML數據時使用;

● responseStream:將返回消息視為Stream對象

  就是下面這個很簡單的JAVASCRIPT函數SEND(STR,URL)

  使用到的是XMLDOM和XMLHTTP對象.用這種技術的好處是:全JS控制,方便/簡單,比RDS或者remote好多了.(前提:服務器端和客戶端都必須安裝IE5或者更高版本),在俺貼的那個無刷新在線信息功能使用的也是這種技術.有興趣的朋友可以看看。

function Send(Str,URL)

//STR參數是傳入的XML數據,你也可以傳入其他文本數據.

//不過這個函數需要服務器端處理之后返回XML數據,你也可以修改一下

//URL參數表示你所要處理數據的ASP文件地址

{

 var Http = new ActiveXObject("Microsoft.XMLHTTP") //建立XMLHTTP對象

 var Dom = new ActiveXObject("Microsoft.XMLDOM") //建立XMLDOM對象

 Http.open("POST",URL,false)

 //第一個參數的意思是,用"POST"方式發送數據.可以大到4MB,也可以換為"GET".只能256KB

 //第2個參數的意思是數據發送到哪個文件處理

 //第3個參數意思是同步或異步方式.TRUE為異步,FALSE為同步

 Http.send(Str) //開始發送數據.............嘟嘟..

 Dom.async=false //設置為同步方式獲取數據

 Dom.loadXML(Http.responseText)

 //開始獲取服務器端處理后返回的數據.我在這里設置必須為XML數據,否則出錯.

 //你也可以自己修改.使返回的是2進制或者記錄集數據.................................

 if(Dom.parseError.errorCode != 0) //檢查是否發生獲取數據時錯誤

 {

delete(Http)

delete(Dom)

return(false)

 }

 else

 {

var Back = Dom.documentElement.childNodes.item(0).text

//得到返回的XML數據,我這里假設處理程序只返回一行XML數據(一個節點)

delete(Http)

delete(Dom)

return(Back) //函數返回數據.......................結束

 }

}

VAR CAT = Send("<用戶資料><姓名>謝檸檬","http://WWW.CHINAASP.COM/VIVA.ASP") //執行函數

IF(CAT == FALSE)

{

 ALERT("對不起.處理程序返回的是FALSE.數據處理已經失敗........")

}

ELSE

{

 IF(EVAL(CAT))

{

 ALERT("OK.數據已經發送成功.兼以處理完成!!!!!!")

}

ELSE

{

 ALERT("對不起.處理程序返回的是FALSE.數據處理已經失敗........")

}

}

===============================VIVA.ASP============================

ON ERROR RESUME NEXT

DIM BOBO

DIM MOMO

SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")

BOBO.ASYNC = FALSE

BOBO.LOAD REQUEST

IF BOBO.PARSEERROR.ERRORCODE <> 0 THEN

RESPONSE.WRITE("<程序處理結果><最終結果>FALSE")

ELSE

SET MOMO = BOBO.DOCUMENTELEMENT

IF MOMO.CHILDNODES.ITEM(0).TEXT = "謝檸檬" THEN

RESPONSE.WRITE("<程序處理結果><最終結果>TRUE")

ELSE

RESPONSE.WRITE("<程序處理結果><最終結果>FALSE")

END IF

END IF

SET BOBO = NOTHING

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本一道aⅴ不卡免费播放 视屏一区 | 色视频在线播放 | 毛毛片在线看 | gogo全球大胆高清人露出91 | 美女视频黄视大全视频免费网址 | 国产精品久久久久久久久久大牛 | free台湾极品性hd | 九九热免费精品视频 | 又黄又爽免费无遮挡在线观看 | 91专区在线观看 | 毛片免费看电影 | 国产精品久久久久久久久粉嫩 | 一级网站 | 精品1| 国产一级大片 | 911精品影院在线观看 | 4p一女两男做爰在线观看 | 在线亚洲欧美 | 午夜精品小视频 | 中国女警察一级毛片视频 | av手机免费在线观看 | 日本aaaa片毛片免费观蜜桃 | 免费观看一区二区三区视频 | 欧美日韩一区,二区,三区,久久精品 | 天天草夜夜爽 | 国产精品www | 蜜桃久久一区二区三区 | 国产老师做www爽爽爽视频 | 国产一区网址 | 日本黄色免费观看视频 | 亚洲综合一区在线观看 | 一区在线视频观看 | 国产一极毛片 | 免费看黄色三级毛片 | 成人 在线 | 可以看毛片的网址 | xxxx18韩国护士hd老师 | 青草视频在线观看视频 | 草草视频免费观看 | 日本在线一区二区 | 亚洲成人第一区 |