XMLHttpRequest.open()方法:建立HTTP請求

2020-07-16 10:05:12
在 JavaScript 中,使用 XMLHttpRequest 物件的 open() 方法可以建立一個 HTTP 請求。用法如下:

xhr.open(method, url, async, username, password);

其中 xhr 表示 XMLHttpRequest 物件,open() 方法包含 5 個引數,說明如下:
  • method:HTTP 請求方法,必須引數,值包括 POST、GET 和 HEAD,大小寫不敏感。
  • url:請求的 URL 字串,必須引數,大部分瀏覽器僅支援同源請求。
  • async:指定請求是否為非同步方式,預設為 true。如果為 false,當狀態改變時會立即呼叫 onreadystatechange 屬性指定的回撥函數。
  • username:可選引數,如果伺服器需要驗證,該引數指定使用者名稱,如果未指定,當伺服器需要驗證時,會彈出驗證視窗。
  • password:可選引數,驗證資訊中的密碼部分,如果使用者名稱為空,則該值將被忽略。

建立連線後,可以使用 send() 方法傳送請求。用法如下:

xhr.send(body);

引數 body 表示將通過該請求傳送的資料,如果不傳遞資訊,可以設定為 null 或者省略。

傳送請求後,可以使用 XMLHttpRequest 物件的 responseBody、responseStream、responseText 或 responseXML 屬等待接收響應資料。

範例

下面範例簡單演示了如何實現非同步通訊的方法。createXHR() 方法在建立 XMLHttpRequest 物件中講解過。
var xhr = creatXHR();  //範例化XMLHttpRequest 物件
xhr.open ("GET", "server.txt", false);  //建立連線
xhr.send(null);  //傳送請求
console.log(xhr.responseText);  //接收資料
在伺服器端(server.txt)中輸入下面的字串。
Hello World  //伺服器端指令碼
在瀏覽器控制台會顯示“Hello World”的提示資訊。該字串是從伺服器端響應的字串。