跨域 XMLHttpRequest對象


XMLHttpRequest對象是ajax編程的基礎,用於發送請求(數據)與服務端進行交互。

目前主流瀏覽器都內置了XMLHttpRequest對象。

瀏覽器會使用XMLHttpRequest對象來創建Ajax請求。

XMLHttpRequest對象的方法

方法 說明
open(method, url, async) 指定請求類型
method: 請求類型: GET 或 POST
url: 服務器URL
async: true (asynchronous)異步  或 false (synchronous) 同步
send() 發送請求到服務端
send(string) 發送請求到服務端
setRequestHeader(header, value)

添加一個請求頭
header請求頭名
value請求頭值

采用GET還是POST

methond請求有GET和POST,應該選擇哪種呢?

GET比 POST 更簡單、更快, 並且可以在大多數情況下使用。

但是, 在下列情況下始終使用 POST 請求:

  •   更新服務器上的數據。
  •   向服務器發送大量數據 (POST 沒有大小限制)。
  •   發送用戶輸入 (可以包含未知字符), POST 比獲取更健壯、更安全。
     

采用異步還是同步

通過異步發送, JavaScript 不必等待服務器響應, 而是可以:

  • 在等待服務器響應時執行其他腳本
  • 響應就緒后處理響應
1
xhttp.open( "GET" , "ajax_test.jsp" , true );

open () 方法的異步參數設置為 true表示采用異步:
 

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
< script >
     function loadDoc() {
       var xhttp = new XMLHttpRequest();
       xhttp.onreadystatechange = function() {
         if (this.readyState == 4 && this.status == 200) {
           document.getElementById("demo").innerHTML =
           this.responseText;
         }
       };
       xhttp.open("GET", "ajax_info.txt", true);
       xhttp.send();
     }
</ script >

第一步:創建一個XMLHttpRequest對象實例

第二步:xhttp.open("GET", "ajax_info.txt", true);  准備處理GET請求,請求地址是ajax_info.txt

第三步:發送請求,xhttp.send();

第四步:根據請求返回的狀態,實現不同的響應。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM