javascript XMLHttpRequest 對象的open() 方法參數說明

來源:互聯網
上載者:User
文章目錄
  • 說明

下文是從w3c上摘錄下來的,其中參數 method 說明的很簡短,不是很理解,所以又找了些資料作為補充。文中帶括弧部分。

 

 

XMLHttpRequest.open()

初始化 HTTP 要求參數

 

文法
open
(method, url, async, username, password)

 

method 參數是用於請求的 HTTP 方法。值包括 GET、POST 和 HEAD。

(
大小寫不敏感。

POST:用"POST"方式發送資料,可以大到4MB
GET:用"GET"方式發送資料,只能256KB
如果請求帶有參數的化實用POST方式,POST方式將參數放置在頁面的隱藏控制項內
沒有參數使用GET方式
對於請求的頁面在中途可能發生更改的,也最好用POST方式

)

 

url 參數是請求的主體。大多數瀏覽器實施了一個同源安全性原則,並且要求這個 URL 與包含指令碼的文本具有相同的主機名稱和連接埠。

 

async 參數指示請求使用應該非同步地執行。如果這個參數是 false,請求是同步的,後續對 send() 的調用將阻塞,直到響應完全接收。

如果這個參數是 true 或省略,請求是非同步,且通常需要一個 onreadystatechange 事件控制代碼。

 

username password 參數是可選的,為 url 所需的授權提供認證資格。如果指定了,它們會覆蓋 url 自己指定的任何資格。

 

說明

這個方法初始化請求參數以供
send() 方法稍後使用。它把 readyState 設定為1,刪除之前指定的所有要求標頭部,以及之前接收的所有回應標頭部,

並且把 responseText、responseXML、status 以及statusText 參數設定為它們的預設值。

當 readyState 為 0 的時候(當 XMLHttpRequest 對象剛建立或者abort() 方法調用後)以及當 readyState 為 4時(已經接收響應時),

調用這個方法是安全的。

當針對任何其他狀態調用的時候,open() 方法的行為是為指定的。

除了儲存供 send() 方法使用的請求參數,以及重設 XMLHttpRequest 對象以便複用,open() 方法沒有其他的行為。

要特別注意,當這個方法調用的時候,實現通常不會開啟一個到 Web 服務器的網路連接。

 

舉例

1 同步方式

var xmlhttp=newXMLHttpRequestObj ();

xmlhttp.open('post','xxx.asp?s=dc',false);

xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(true);

alert('do something.....')

 

2 非同步方式

var sendStr='?a=1&b=2'; //url 的參數

var xmlhttp=newXMLHttpRequestObj ();
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4){   
        if(xmlhttp.status==200){
           alert(xmlhttp.responseText);
            //other.......
        }
    }
}
xmlhttp.open('post','xxx.asp',true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(sendStr);

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.