javascript中Http部分方法詳解

來源:互聯網
上載者:User

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);

這樣實現顯示的延時

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.