IT兄弟連 JavaWeb教程 使用AJAX發送POST請求並獲取響應

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/90815782

POST請求用於向伺服器發送應該被保存的數據,因此POST請求天然比GET請求多需要一份需要被保存的數據。那麼這些數據應該放在何處呢?畢竟,我們的open()方法接收的三個參數都沒有合適的位置。

答案是需要發送的數據會作為send()方法的參數最終被發往伺服器,該數據可以是任意大小,任意類型。

使用Ajax發送POST請求需要使用setRequestHeader()方法設置請求頭,程式碼如下:

function PostRequest(){

var xhr = null;

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

}else{

xhr = new ActiveXObject("Microsoft.XMLHttp");

}

xhr.open('post,』/ajax_demo』,true);

xhr.setRequestHeader('Content-Type』,"application/x-www-form-urlencoded』);

xhr.onreadystatechange = function(){

if(xhr.readyState == 4 && xhr.status == 200){

var data = xhr.responseText;

}

}

xhr.send('username=itxdl;password=123456』);

}

總結:

● 創建XHR對象 var xhr = new XMLHttpRequest()或var xhr = new ActiveXObject ("Microsoft.XMLHttp")。

● 建立HTTP連接 xhr.open('GET』,URL,ASYNC)。

● 設置請求頭 xhr.setRequestHeader('Content-Type』,』application/x-www-form-urlencoded』)。

● 給XHR狀態綁定一個回調函數 xhr.onreadystatechange = function(){}。

● 在回調函數中判斷Ajax的狀態是否等於4,HTTP狀態碼是否等於200,然後編寫相應的業務邏輯。

● 發送一個HTTP請求 xhr.send(data);