建立 xmlhttprequest 物件; 設定請求行;設定請求頭(針對 post 請求);設定請求體;接收響應資料
;// 檢查瀏覽器是否支援 xmlhttprequest 物件
// 設定請求行,向伺服器傳送請求;用於說明xmlhttprequest物件要從**獲取資料.通常可以是**中的資料,也可以是本地中其他檔案中的資料。
// open(method,url,async);規定請求的型別、url 以及是否非同步處理請求。
// method:請求的型別;get 或 post;
// url:檔案在伺服器上的位置;
// async:true(非同步)或 false(同步)
xhr.
open
('get'
,'',true);
// post 請求需要設定請求頭
// 設定請求體;
// send(string); 將請求傳送到伺服器。string:僅用於 post 請求
xhr.
send
(null);
// get請求引數可不填或置空
/* 設定響應http請求狀態變化的函式 */
// onreadystatechange 儲存函式(或函式名),每當 readystate 屬性改變時,就會呼叫該函式。
xhr.
onreadystatechange
=function()
前端經典面試題 Ajax篇
onreadystatechange事件放在open 前,確保跨瀏覽器相容性 xhr.onreadystatechange function else 啟動乙個請求以備傳送 xhr.open get post example.php true 設定請求頭 xhr.setrequestheader 傳...
手寫promise封裝ajax
其實,axios本身就是基於promise進行封裝的,我們之所以進行二次封裝,主要是為了能夠對錯誤資訊進行乙個集中的處理,根據不同的錯誤資訊,需要給使用者不同的提示,以便於給使用者乙個良好的操作體驗。封裝方法有很多種,基於class類的,基於建構函式的,也可以直接封裝乙個函式。具體按照個人習慣,最主...
ajax請求掛起 Ajax請求內部迴圈掛起瀏覽器
我想從擁有大量資料的伺服器得到乙個結果。因此,伺服器在多個頁面中傳送資料。所以我想讓所有這些在資料表中顯示出來。所以我在迴圈內部使用ajax請求,因為我想從許多頁面獲取資訊。我為page變數新增 1,這樣迴圈將獲取所有頁面的所有結果,直到響應的no of elements為0。但是問題是瀏覽器在執行...