open 方法
初始化一個 NetBox.Http 對象,指定方法,URL 和請求的認證資訊
文法
Http.open(strMethod, strUrl[, varAsync, varUser, varPassword])
參數
Http
一個執行個體化的 Http 對象
strMethod
開啟串連的 HTTP 方法,可以是 GET,POST,PUT 或 PROPFIND 等
strUrl
請求的 URL,必須為絕對位址,比如:"http://www.zydsoft.com/"
varAsync
確定此次請求是否為非同步請求,如果為 True,則 Send 方法立即返回,預設為 True
varUser
用於使用者認證的使用者名稱
varPassword
用於使用者認證的口令
注釋
調用此方法將清除以前對象中的全部資料,並按照調用的參數初始化一個新的對象。open 一個請求以後,可以使用 send 方法將此次請求發送至伺服器。
樣本
下面的例子建立一個 Http 對象,然後使用 open 方法同步開啟一個頁面,並發出請求,並顯示返回的內容:
Set Http = CreateObject("NetBox.Http")Http.Open "GET", "http://www.zydsoft.com/"Http.SendShell.Console.Write NetBox.Encoding.BinToStr(Http.ReadAll)
setRequestHeader
設定一個請求的標題欄位
文法:
oXMLHttpRequest.setRequestHeader( bstrHeader , bstrValue );
參數:
bstrHeader
http頭名稱,字串
bstrValue
值,字串
備忘:
調用此方法之前,必須調用open方法,否則會發生錯誤
send 方法發送請求到伺服器並接收返回結果
文法Http.send([varBody])
參數Http
一個執行個體化的 Http 對象
varBody
Http 請求的訊息內容,通常為 Form 的內容
注釋
此方法可以是同步和非同步兩種方式,由 open 方法的 varAsync 參數決定。如果調用 open 方法的時候 varAsync 為 False,則此方法將等待請求成功發出後才返回,而如果 varAsync 為 True,則調用立即返回。
此方法有一個參數,指定 Http 請求的訊息內容,可以是字串和二進位。此參數將自動設定 Http 請求中的 Content-Length 欄位,而並不設定 Content-Type 的內容,如果需要指定 Content-Type 的內容,需要使用 SetHeader 方法自行設定以向伺服器聲明訊息內容的資料格式。
readyState 屬性
返回請求執行的狀態
文法
rs = Http.readyState
參數
rs
返回
Http 對象的狀態
Http
一個執行個體化的
Http 對象
注釋
此屬性為唯讀屬性,用於查詢 Http 對象目前狀態,狀態的說明如下:
0(未初始化) |
對象成功建立,但是未調用 open |
1(初始化) |
open 方法調用成功,但是尚未發送至伺服器 |
2(請求發送成功) |
send 方法調用成功,請求已經成功發送至伺服器 |
3(資料下載中) |
伺服器已經返回資訊,並且開始下載資料 |
4(請求結束) |
伺服器資料下載成功,或者網路連接插斷要求出錯 |
unescape 方法
從用 escape 方法編碼的 String 對象中返回已解碼的字串。
function unescape(charString : String) : String
參數
-
charString
-
必選。要解碼的 String 對象或文本。
備忘
unescape 方法返回一個包含 charString 內容的字串值。所有以 %xx 十六進位形式編碼的字元都用 ASCII 字元集當中等效的字元代替。
以 %uxxxx 格式(Unicode 字元)編碼的字元用十六進位編碼 xxxx 的 Unicode 字元代替。
window.setTimeout(func,delay);
func,代表所要執行的函數或代碼字串。
delay,延時參數,單位為毫秒,一秒=1000毫秒。
func中傳遞的函數或語句有變數輸入時,變數的取值以延時後的執行時段時的取值為準,不以代碼執行時段的值為準。例如:
代碼:
for(var i=1;i<=50;i++)
{
window.setTimeout("document.write(i)",1000);
}
這樣寫的意義是在程式執行完1秒後列印50個i,此時程式已執行完,i的取值為"51";
如果要是程式每隔1秒列印一個數,則程式要改寫為
代碼:
for(var i=1;i<=50;i++)
{
window.setTimeout("document.write("+i+")",i*1000);
}
有了"+i+"的字串跳出,每次執行的賦值
1. window.setTimeout("document.write(1)",1000);
2. window.setTimeout("document.write(2)",2000);
3. window.setTimeout("document.write(3)",3000);
4. window.setTimeout("document.write(4)",4000);
5. window.setTimeout("document.write(5)",5000);
...
...
50. window.setTimeout("document.write(50)",50000);
這樣實現顯示的延時