axios、ajax、fetch三者的區別

1.ajax:是指一種建立交互式網頁應用的網頁開發技術,而且能夠作到無需從新加載整個網頁的狀況下,可以更新部分網頁,也叫做局部更新
優缺點:
1)局部更新
2)原生支持,不須要任何插件
3)原生支持,不須要任何插件
4)可能破壞瀏覽器後退功能
5)嵌套回調,難以處理
2.axios:是一個基於 promise 的 HTTP 庫,能夠用在瀏覽器和 node.js 中
特色:
1)從瀏覽器中建立 XMLHttpRequests
2)從 node.js 建立 http 請求
3)支持 Promise API
4)攔截請求和響應
5)轉換請求數據和響應數據
6)取消請求
7)自動轉換 JSON 數據
8)客戶端支持防護 XSRF
3.fetch:使用了ES6中的promise對象。Fetch是基於promise設計的。Fetch函數就是原生js,沒有使用XMLHttpRequest對象。
優缺點:
1)更加底層,提供的API豐富(request, response)
2)脫離了XHR,是ES規範裏新的實現方式
3)fetch是一個低層次的API,你能夠把它考慮成原生的XHR,因此使用起來並非那麼舒服,須要進行封裝
4)fetch只對網絡請求報錯,對400,500都當作成功的請求,須要封裝去處理

5)fetch默認不會帶cookie,須要添加配置項

6)fetch不支持abort,不支持超時控制,使用setTimeout及Promise.reject的實現的超時控制並不能阻止請求過程繼續在後臺運行,形成了流量的浪費

7)fetch沒有辦法原生監測請求的進度,而XHR能夠
相關文章
相關標籤/搜索