手寫乙個簡易的Ajax

2021-10-24 11:20:29 字數 1481 閱讀 9911

乙個簡單的ajax(get)請求

手寫乙個簡易的 ajax(get請求版)

ajax是一種技術方案,而不是一種新技術,依賴的依舊是前端三件套,最核心的依賴就是瀏覽器提供的xmlhttprequest物件,可以讓瀏覽器發出http請求和接收http響應。

也就是說:我們使用xmlhttprequest物件傳送乙個ajax請求。

// get 請求

// 建立 xhr 物件

;// xmlhttprequest.open() 方法初始化乙個請求

// 原始api:xhr.open(method, url, async);

// method:要是用的http方法,url:請求的主體,async(可選):false為同步,true為非同步,預設為同步

xhr.

open

('get'

,'/api'

,false);

// 只要 readystate 屬性發生變化,就會呼叫相應的處理函式。

xhr.

onreadystatechange

=function()

;};}

;// 預設要設定,因為get請求,不需要傳送資料

// xmlhttprequest.send()方法用於傳送 http 請求

xhr.

send

(null

);

使用 xmlhttprquest.readystate 屬性進行追蹤

第五種情況才可以拿到responsetext

使用 xmlhttprquest.status 屬性進行追蹤

// 手寫乙個簡單的ajax

// 結合promise

function

ajax

(url)

else

if(xhr.status ===

404)}}

xhr.

send

(null);

});return p;

}const url =

'./data/test.json'

;ajax

(url)

.then

(res => console.

log(res)).

catch

(err => console.

err(err)

)

若想設定post請求版,則需更改

xhr.open裡的引數為xhr.open('post', url, true/false);xhr.send裡的引數為xhr.send(p);

手寫乙個ajax

在我看來,寫乙個ajax就需要5步,也就是5個單詞,這就是乙個ajax的流程。這五個單詞分別為 new open setrequestheader onreadystatechange send。記住這五個單詞你就有了ajax的整體的框架了。以上是最麻煩的一步,後面的步驟就比較簡單了。ajax.op...

手寫乙個Tomcat

1 工程截圖 2 封裝請求物件 通過輸入流,對http協議進行解析,拿到了http請求頭的方法和url author wangjie version 2018 11 9 封裝請求物件 通過輸入流,對http協議進行解析,拿到http請求頭的方法和url 3 封裝響應物件 基於http協議的格式進行輸...

手寫乙個佇列

佇列具有先進先出的特點,從隊尾新增元素,從隊首刪除元素。對於佇列,通常有兩種實現方式 陣列和鍊錶。package basicknowledge.集合框架.queue 基本功能 利用陣列實現乙個迴圈佇列 program summary author peicc create 2019 07 24 10...