axios和ajax的區(qū)別點(diǎn)總結(jié)
本文操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
axios和ajax的區(qū)別是什么?
axios和ajax的區(qū)別及優(yōu)缺點(diǎn):
ajax:
1、什么是ajax
Ajax是對(duì)原生XHR的封裝,為了達(dá)到我們跨越的目的,增添了對(duì)JSONP的支持。
異步的javascript和xml,ajax不是一門(mén)新技術(shù),而是多種技術(shù)的組合,用于快速的創(chuàng)建動(dòng)態(tài)頁(yè)面,能夠?qū)崿F(xiàn)無(wú)刷新更新數(shù)據(jù)從而提高用戶(hù)體驗(yàn)。
2、ajax的原理?
由客戶(hù)端請(qǐng)求ajax引擎,再由ajax引擎請(qǐng)求服務(wù)器,服務(wù)器作出一系列響應(yīng)之后返回給ajax引擎,由ajax引擎決定將這個(gè)結(jié)果寫(xiě)入到客戶(hù)端的什么位置。實(shí)現(xiàn)頁(yè)面無(wú)刷新更新數(shù)據(jù)。
3、核心對(duì)象?
XMLHttpReques
4、ajax優(yōu)缺點(diǎn)?
優(yōu)點(diǎn)
1、 無(wú)刷新更新數(shù)據(jù)
2、異步與服務(wù)器通信
3、前端和后端負(fù)載平衡
4、基于標(biāo)準(zhǔn)被廣泛支持
5、界面與應(yīng)用分離
缺點(diǎn):
1、ajax不能使用Back和history功能,即對(duì)瀏覽器機(jī)制的破壞。
2、安全問(wèn)題 ajax暴露了與服務(wù)器交互的細(xì)節(jié)
3、對(duì)收索引擎的支持比較弱
4、破壞程序的異常處理機(jī)制
5、違背URL和資源定位的初衷
6、ajax不能很好的支持移動(dòng)設(shè)備
7、太多客戶(hù)端代碼造成開(kāi)發(fā)上的成本
5、Ajax適用場(chǎng)景
<1>.表單驅(qū)動(dòng)的交互
<2>.深層次的樹(shù)的導(dǎo)航
<3>.快速的用戶(hù)與用戶(hù)間的交流響應(yīng)
<4>.類(lèi)似投票、yes/no等無(wú)關(guān)痛癢的場(chǎng)景
<5>.對(duì)數(shù)據(jù)進(jìn)行過(guò)濾和操縱相關(guān)數(shù)據(jù)的場(chǎng)景
<6>.普通的文本輸入提示和自動(dòng)完成的場(chǎng)景
6、Ajax不適用場(chǎng)景
<1>.部分簡(jiǎn)單的表單
<2>.搜索
<3>.基本的導(dǎo)航
<4>.替換大量的文本
<5>.對(duì)呈現(xiàn)的操縱
7、代碼
$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {} });
8、ajax請(qǐng)求的五個(gè)步驟
1. 創(chuàng)建XMLHttpRequest異步對(duì)象
2. 設(shè)置回調(diào)函數(shù)
3. 使用open方法與服務(wù)器建立連接
4. 向服務(wù)器發(fā)送數(shù)據(jù)
5. 在回調(diào)函數(shù)中針對(duì)不同的響應(yīng)狀態(tài)進(jìn)行處理
axios:
1、axios是什么
Axios 是一個(gè)基于 Promise 的 HTTP 庫(kù),可以用在瀏覽器和 node.js 中。
2、axios有那些特性?
1、在瀏覽器中創(chuàng)建 XMLHttpRequests
2、在node.js則創(chuàng)建http請(qǐng)求
3、支持Promise API
4、支持?jǐn)r截請(qǐng)求和響應(yīng)
5、轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)
6、取消請(qǐng)求
7、自動(dòng)轉(zhuǎn)換成JSON數(shù)據(jù)格式
8、客戶(hù)端支持防御XSRF
3、執(zhí)行g(shù)et請(qǐng)求,有兩種方式
// 第一種方式 將參數(shù)直接寫(xiě)在url中axios.get('/getMainInfo?id=123') .then((res) => { console.log(res) }) .catch((err) => { console.log(err) })// 第二種方式 將參數(shù)直接寫(xiě)在params中axios.get('/getMainInfo', { params: { id: 123 } }) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) })
4、執(zhí)行post請(qǐng)求,注意執(zhí)行post請(qǐng)求的入?yún)ⅲ恍枰獙?xiě)在params字段中,這個(gè)地方要注意與get請(qǐng)求的第二種方式進(jìn)行區(qū)別。
axios.post('/getMainInfo', { id: 123}) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) })
axios和ajax的區(qū)別:
axios是通過(guò)Promise實(shí)現(xiàn)對(duì)ajax技術(shù)的一種封裝,就像jquery對(duì)ajax的封裝一樣,簡(jiǎn)單來(lái)說(shuō)就是ajax技術(shù)實(shí)現(xiàn)了局部數(shù)據(jù)的刷新,axios實(shí)現(xiàn)了對(duì)ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結(jié)一句話(huà)就是axios是ajax,ajax不止axios。
注: 傳統(tǒng)Ajax 指的是 XMLHttpRequest(XHR),axios和jQuer ajax都是對(duì)Ajax的封裝
到此這篇關(guān)于axios和ajax的區(qū)別點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)axios和ajax的區(qū)別是什么內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jQuery中ajax - get() 方法實(shí)例詳解
在JQuery中可以使用get,post和ajax方法給服務(wù)器端傳遞數(shù)據(jù),接下來(lái),通過(guò)本篇文章給大家介紹jquery中ajax-get()方法實(shí)例詳解,有需要的朋友可以參考下2015-09-09AJAX應(yīng)用之注冊(cè)用戶(hù)即時(shí)檢測(cè)
AJAX應(yīng)用之注冊(cè)用戶(hù)即時(shí)檢測(cè)...2006-07-07ThinkPHP5 通過(guò)ajax插入圖片并實(shí)時(shí)顯示(完整代碼)
這篇文章主要介紹了ThinkPHP5 通過(guò)ajax插入圖片并實(shí)時(shí)顯示功能,本文給大家分享網(wǎng)站代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12基于Spring Boot利用 ajax實(shí)現(xiàn)上傳圖片功能
這篇文章主要介紹了Spring Boot利用 ajax實(shí)現(xiàn)上傳圖片功能,本文圖文實(shí)例相結(jié)合,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11基于Jquery.history解決ajax的前進(jìn)后退問(wèn)題
本文主要給大家介紹基于Jquery.history解決ajax的前進(jìn)后退問(wèn)題,涉及到j(luò)query前進(jìn)后退相關(guān)方面的知識(shí),本文內(nèi)容經(jīng)典,非常具有參考價(jià)值,特此把jquery前進(jìn)后退相關(guān)知識(shí)分享在腳本之家網(wǎng)站供大家參考2015-10-10利用 Linq+Jquery+Ajax 實(shí)現(xiàn)異步分頁(yè)功能可簡(jiǎn)化帶寬壓力
網(wǎng)上的分頁(yè)方法甚多,但都太過(guò)于消耗帶寬,所以我想到了用Ajax來(lái)分頁(yè),利用返回的Json來(lái)處理返回的數(shù)據(jù),大大簡(jiǎn)化了帶寬的壓力2014-05-05Ajax異步方式實(shí)現(xiàn)登錄與驗(yàn)證
這篇文章主要介紹了Ajax異步方式實(shí)現(xiàn)登錄與驗(yàn)證,感興趣的小伙伴們可以參考一下2015-12-12