国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

axios和ajax的區(qū)別點(diǎn)總結(jié)

瀏覽:15日期:2022-06-12 10:36:20

本文操作環(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不是一門新技術(shù),而是多種技術(shù)的組合,用于快速的創(chuàng)建動(dòng)態(tài)頁面,能夠?qū)崿F(xiàn)無刷新更新數(shù)據(jù)從而提高用戶體驗(yàn)。

2、ajax的原理?

由客戶端請(qǐng)求ajax引擎,再由ajax引擎請(qǐng)求服務(wù)器,服務(wù)器作出一系列響應(yīng)之后返回給ajax引擎,由ajax引擎決定將這個(gè)結(jié)果寫入到客戶端的什么位置。實(shí)現(xiàn)頁面無刷新更新數(shù)據(jù)。

3、核心對(duì)象?

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功能,即對(duì)瀏覽器機(jī)制的破壞。

2、安全問題 ajax暴露了與服務(wù)器交互的細(xì)節(jié)

3、對(duì)收索引擎的支持比較弱

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>.對(duì)數(shù)據(jù)進(jìn)行過濾和操縱相關(guān)數(shù)據(jù)的場景

<6>.普通的文本輸入提示和自動(dòng)完成的場景

6、Ajax不適用場景

<1>.部分簡單的表單

<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 庫,可以用在瀏覽器和 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、客戶端支持防御XSRF

3、執(zhí)行g(shù)et請(qǐng)求,有兩種方式

// 第一種方式  將參數(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請(qǐng)求,注意執(zhí)行post請(qǐng)求的入?yún)ⅲ恍枰獙懺趐arams字段中,這個(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是通過Promise實(shí)現(xiàn)對(duì)ajax技術(shù)的一種封裝,就像jquery對(duì)ajax的封裝一樣,簡單來說就是ajax技術(shù)實(shí)現(xiàn)了局部數(shù)據(jù)的刷新,axios實(shí)現(xiàn)了對(duì)ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結(jié)一句話就是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)文章希望大家以后多多支持!

標(biāo)簽: Ajax
相關(guān)文章:
主站蜘蛛池模板: 雅江县| 辽阳市| 涟源市| 延津县| 高陵县| 永康市| 西平县| 晴隆县| 富蕴县| 玉田县| 娱乐| 济宁市| 和平区| 师宗县| 山阴县| 白山市| 集贤县| 开封县| 邵阳市| 高淳县| 阿勒泰市| 龙州县| 大田县| 安平县| 嵊州市| 罗定市| 商都县| 肥东县| 清流县| 东台市| 奉化市| 含山县| 锦州市| 廊坊市| 仁怀市| 寿宁县| 凭祥市| 牙克石市| 惠州市| 扎鲁特旗| 德昌县|