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);