在 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”的提示資訊。該字串是從伺服器端響應的字串。