ajax和axios fetch的區別

2021-10-06 20:39:12 字數 1086 閱讀 6580

最早出現的傳送後端請求技術,隸屬於原始js中。優點無需多言;缺點如下:

$.ajax(,

error: function () {}

});

1.本身是針對mvc的程式設計,不符合現在前端mvvm的浪潮

2.基於原生的xhr開發,xhr本身的架構不清晰。

3.jquery整個專案太大,單純使用ajax卻要引入整個jquery非常的不合理(採取個性化打包的方案又不能享受cdn服務)

4.不符合關注分離(separation of concerns)的原則

5.配置和呼叫方式非常混亂,而且基於事件的非同步模型不友好。

axios(

}).then(function (response) )

.catch(function (error) );

本質上也是對原生xhr的封裝,只不過它是promise的實現版本,符合最新的es規範,它本身具有以下特徵:

**

1.從瀏覽器中建立 xmlhttprequest

2.支援 promise api

3.客戶端支援防止csrf

4.提供了一些併發請求的介面(重要,方便了很多的操作)

5.從 node.js 建立 http 請求

6.攔截請求和響應

7.轉換請求和響應資料

8.取消請求

9.自動轉換json資料

fetch不是ajax的進一步封裝,而是原生js,沒有使用xmlhttprequest物件。

try  catch(e)
語法簡潔,更加語義化

基於標準 promise 實現,支援 async/await

同構方便,使用 [isomorphic-fetch] (

更加底層,提供的api豐富(request, response)

脫離了xhr,是es規範裡新的實現方式

ajax和axios fetch的區別

1.jquery ajax ajax error function 2.axios axios then function response catch function error vue2.0之後,尤雨溪推薦大家用axios替換jquery ajax,想必讓axios進入了很多人的目光中。axi...

ajax和axios fetch的區別

axios then function response catch function error vue2.0之後,尤雨溪推薦大家用axios替換jquery ajax,想必讓axios進入了很多人的目光中。axios 是乙個基於promise 用於瀏覽器和 nodejs 的 http 客戶端,本...

ajax和axios fetch的區別

vue2.0之後,尤雨溪推薦大家用axios替換jquery ajax,想必讓axios進入了很多人的目光中。axios 是乙個基於promise 用於瀏覽器和 nodejs 的 http 客戶端,本質上也是對原生xhr的封裝,只不過它是promise的實現版本,符合最新的es規範,它本身具有以下特...