建立XMLHTTP物件

2021-04-13 00:44:20 字數 1976 閱讀 1563

msxml中提供了microsoft.xmlhttp物件,能夠完成從資料報到request物件的轉換以及傳送任務。

建立xmlhttp物件的語句如下:

set objxml = createobject("msxml2.xmlhttp") 或

物件建立後呼叫open方法對request物件進行初始化,語法格式為:

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

http-method:http的通訊方式,比如get或是post

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

userid:使用者id,用於伺服器身份驗證

password:使用者密碼,用於伺服器身份驗證

xmlhttp物件的send方法

用open方法對request物件進行初始化後,呼叫send方法傳送xml資料:

objxml.send()

send方法的引數型別是variant,可以是字串、dom樹或任意資料流。

傳送資料的方式分為同步和非同步兩種。在非同步方式下,資料報一旦傳送完畢,就結束send程序,客戶機執行其他的操作;而在同步方式下,客戶機要等到伺服器返回確認訊息後才結束send程序。

xmlhttp物件中的readystate屬性

其能夠反映出伺服器在處理請求時的進展狀況。客戶機的程式可以根據這個狀態資訊設定相應的事件處理方法。屬性值及其含義如下表所示:

值  說明

0   response物件已經建立,但xml文件上載過程尚未結束

1   xml文件已經裝載完畢

2   xml文件已經裝載完畢,正在處理中

3   部分xml文件已經解析

4   文件已經解析完畢,客戶端可以接受返回訊息

客戶機處理響應資訊,客戶機接收到返回訊息後,進行簡單的處理,基本上就完成了c/s之間的乙個互動週期。

客戶機接收響應是通過xmlhttp物件的屬性實現的:

responsetext:將返回訊息作為文字字串;

responsebody:將返回訊息作為html文件內容;

respon***ml:將返回訊息視為xml文件,在伺服器響應訊息中含有xml資料時使用;

responsestream:將返回訊息視為stream物件

以下是乙個簡單的例子:類似新聞小偷

整個步驟很明顯:建立、開啟、傳送和接受。

p.s.本處除錯為alexa站點,如果選擇為國內中文站點則會出現亂碼,故需要乙個函式轉換,具體見《

偷也是門技術——**xmlhttp應用:新聞小偷》

XMLHTTP物件及其方法

xmlhttp物件及其方法 msxml中提供了microsoft.xmlhttp物件,能夠完成從資料報到request物件的轉換以及傳送任務。建立xmlhttp物件的語句如下 set objxml createobject msxml2.xmlhttp 或 物件建立後呼叫open方法對request...

XMLHTTP物件及其方法

xmlhttp物件及其方法 msxml中提供了microsoft.xmlhttp物件,能夠完成從資料報到request物件的轉換以及傳送任務。建立xmlhttp物件的語句如下 set objxml createobject msxml2.xmlhttp 或 物件建立後呼叫open方法對request...

XMLHTTP 物件及其方法

msxml中提供了microsoft.xmlhttp物件,能夠完成從資料報到request物件的轉換以及傳送任務。建立xmlhttp物件的語句如下 set objxml createobject msxml2.xmlhttp 或 物件建立後呼叫 open方法對request物件進行初始化,語法格式為...