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是對原生XHR的封裝,為了達(dá)到我們跨越的目的,增添了對JSONP的支持。
異步的javascript和xml,ajax不是一門新技術(shù),而是多種技術(shù)的組合,用于快速的創(chuàng)建動(dòng)態(tài)頁面,能夠?qū)崿F(xiàn)無刷新更新數(shù)據(jù)從而提高用戶體驗(yàn)。
2、ajax的原理?
由客戶端請求ajax引擎,再由ajax引擎請求服務(wù)器,服務(wù)器作出一系列響應(yīng)之后返回給ajax引擎,由ajax引擎決定將這個(gè)結(jié)果寫入到客戶端的什么位置。實(shí)現(xiàn)頁面無刷新更新數(shù)據(jù)。
3、核心對象?
XMLHttpReques
4、ajax優(yōu)缺點(diǎn)?
優(yōu)點(diǎn)
1、 無刷新更新數(shù)據(jù)
2、異步與服務(wù)器通信
3、前端和后端負(fù)載平衡
4、基于標(biāo)準(zhǔn)被廣泛支持
5、界面與應(yīng)用分離
缺點(diǎn):
1、ajax不能使用Back和history功能,即對瀏覽器機(jī)制的破壞。
2、安全問題 ajax暴露了與服務(wù)器交互的細(xì)節(jié)
3、對收索引擎的支持比較弱
4、破壞程序的異常處理機(jī)制
5、違背URL和資源定位的初衷
6、ajax不能很好的支持移動(dòng)設(shè)備
7、太多客戶端代碼造成開發(fā)上的成本
5、Ajax適用場景
<1>.表單驅(qū)動(dòng)的交互
<2>.深層次的樹的導(dǎo)航
<3>.快速的用戶與用戶間的交流響應(yīng)
<4>.類似投票、yes/no等無關(guān)痛癢的場景
<5>.對數(shù)據(jù)進(jìn)行過濾和操縱相關(guān)數(shù)據(jù)的場景
<6>.普通的文本輸入提示和自動(dòng)完成的場景
6、Ajax不適用場景
<1>.部分簡單的表單
<2>.搜索
<3>.基本的導(dǎo)航
<4>.替換大量的文本
<5>.對呈現(xiàn)的操縱
7、代碼
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: dataType,
success: function () {},
error: function () {}
});
8、ajax請求的五個(gè)步驟
1. 創(chuàng)建XMLHttpRequest異步對象
2. 設(shè)置回調(diào)函數(shù)
3. 使用open方法與服務(wù)器建立連接
4. 向服務(wù)器發(fā)送數(shù)據(jù)
5. 在回調(diào)函數(shù)中針對不同的響應(yīng)狀態(tài)進(jìn)行處理
axios:
1、axios是什么
Axios 是一個(gè)基于 Promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。
2、axios有那些特性?
1、在瀏覽器中創(chuàng)建 XMLHttpRequests
2、在node.js則創(chuàng)建http請求
3、支持Promise API
4、支持?jǐn)r截請求和響應(yīng)
5、轉(zhuǎn)換請求和響應(yīng)數(shù)據(jù)
6、取消請求
7、自動(dòng)轉(zhuǎn)換成JSON數(shù)據(jù)格式
8、客戶端支持防御XSRF
3、執(zhí)行g(shù)et請求,有兩種方式
// 第一種方式 將參數(shù)直接寫在url中axios.get('/getMainInfo?id=123')
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})// 第二種方式 將參數(shù)直接寫在params中axios.get('/getMainInfo', { params: {
id: 123
}
})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
4、執(zhí)行post請求,注意執(zhí)行post請求的入?yún)?,不需要寫在params字段中,這個(gè)地方要注意與get請求的第二種方式進(jìn)行區(qū)別。
axios.post('/getMainInfo', {
id: 123})
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
axios和ajax的區(qū)別:
axios是通過Promise實(shí)現(xiàn)對ajax技術(shù)的一種封裝,就像jquery對ajax的封裝一樣,簡單來說就是ajax技術(shù)實(shí)現(xiàn)了局部數(shù)據(jù)的刷新,axios實(shí)現(xiàn)了對ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結(jié)一句話就是axios是ajax,ajax不止axios。
注: 傳統(tǒng)Ajax 指的是 XMLHttpRequest(XHR),axios和jQuer ajax都是對Ajax的封裝
到此這篇關(guān)于axios和ajax的區(qū)別點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)axios和ajax的區(qū)別是什么內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Ajax技術(shù)實(shí)現(xiàn)文件上傳帶進(jìn)度條
這篇文章主要介紹了基于Ajax技術(shù)實(shí)現(xiàn)文件上傳帶進(jìn)度條的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
ajax post方式表單提交setRequestHeader報(bào)錯(cuò)解決方法
ajax post方式表單提交設(shè)置異步對象的xhr.setRequestHeader,在谷歌瀏覽器的編譯器中顯示傳值在Request Payload中這是錯(cuò)誤的2014-09-09
Ajax 動(dòng)態(tài)載入html頁面后不能執(zhí)行其中的js快速解決方法
這篇文章主要介紹了Ajax 動(dòng)態(tài)載入html頁面后不能執(zhí)行其中的js快速解決方法,需要的朋友可以參考下2018-06-06
Jquery Ajax請求文件下載操作失敗的原因分析及解決辦法
jQuery確實(shí)是一個(gè)挺好的輕量級的JS框架,能幫助我們快速的開發(fā)JS應(yīng)用,并在一定程度上改變了我們寫JavaScript代碼的習(xí)慣,本文重點(diǎn)給大家介紹Jquery Ajax請求文件下載操作失敗的原因分析及解決辦法,對ajax請求失敗的原因分析感興趣的朋友一起學(xué)習(xí)把2015-11-11
一個(gè)偽ajax圖片上傳代碼實(shí)現(xiàn)示例
這篇文章主要介紹了自己寫的一個(gè)偽ajax圖片上傳實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-03-03
使用AJAX異步通信技術(shù)實(shí)現(xiàn)搜索聯(lián)想和自動(dòng)補(bǔ)全示例
這篇文章主要介紹了使用AJAX異步通信技術(shù)實(shí)現(xiàn)搜索聯(lián)想和自動(dòng)補(bǔ)全示例,AJAX是前后臺(tái)交互的能? 也就是我們客戶端給服務(wù)端發(fā)送消息的?具,以及接受響應(yīng)的?具,需要的朋友可以參考下2023-05-05
AJAX淺析數(shù)據(jù)交換的實(shí)現(xiàn)
在AJAX中,最常用的就是JSON,XML因?yàn)楸容^冗雜所以用的比較少。所以我們先來說基于JSON的數(shù)據(jù)交換。最后我們還會(huì)提到在數(shù)據(jù)交換中出現(xiàn)亂碼的形式2022-08-08
Ajax 無刷新在注冊用戶名時(shí)判斷是否為空是否被使用
這篇文章主要介紹了Ajax 無刷新在注冊用戶名時(shí)判斷是否為空是否被使用,需要的朋友可以參考下2014-05-05

