1.區別
axios是通過promise實現對ajax技術的一種封裝,就像jQuery實現ajax封裝一樣。
簡單來說: ajax技術實現了網頁的局部數據刷新,axios實現了對ajax的封裝。
axios是ajax ajax不止axios。
下面列出代碼來對比一下:
axios:
axios({ url: '/getUsers', method: 'get', responseType: 'json', // 默認的 data: { //'a': 1, //'b': 2, } }).then(function (response) { console.log(response); console.log(response.data); }).catch(function (error) { console.log(error); })
ajax:
$.ajax({ url: '/getUsers', type: 'get', dataType: 'json', data: { //'a': 1, //'b': 2, }, success: function (response) { console.log(response); } })
2.優缺點:
ajax:
本身是針對MVC的編程,不符合現在前端MVVM的浪潮
基於原生的XHR開發,XHR本身的架構不清晰,已經有了fetch的替代方案
JQuery整個項目太大,單純使用ajax卻要引入整個JQuery非常的不合理(采取個性化打包的方案又不能享受CDN服務
axios:
從 node.js 創建 http 請求
支持 Promise API
客戶端支持防止CSRF
提供了一些並發請求的接口(重要,方便了很多的操作)