中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

axios和ajax的區別有什么

發布時間:2021-12-17 16:04:54 來源:億速云 閱讀:441 作者:柒染 欄目:web開發

axios和ajax的區別有什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

axios和ajax的區別:1、axios是一個基于Promise的HTTP庫,而ajax是對原生XHR的封裝;2、ajax技術實現了局部數據的刷新,而axios實現了對ajax的封裝。

本文操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

axios和ajax的區別是什么?

axios和ajax的區別及優缺點:

ajax:

1、什么是ajax

  Ajax是對原生XHR的封裝,為了達到我們跨越的目的,增添了對JSONP的支持。

  異步的javascript和xml,ajax不是一門新技術,而是多種技術的組合,用于快速的創建動態頁面,能夠實現無刷新更新數據從而提高用戶體驗。

2、ajax的原理?

  由客戶端請求ajax引擎,再由ajax引擎請求服務器,服務器作出一系列響應之后返回給ajax引擎,由ajax引擎決定將這個結果寫入到客戶端的什么位置。實現頁面無刷新更新數據。

3、核心對象?

  XMLHttpReques

4、ajax優缺點?

  優點 

    1、 無刷新更新數據

    2、異步與服務器通信

    3、前端和后端負載平衡

    4、基于標準被廣泛支持

    5、界面與應用分離

  缺點:

    1、ajax不能使用Back和history功能,即對瀏覽器機制的破壞。

    2、安全問題  ajax暴露了與服務器交互的細節

    3、對收索引擎的支持比較弱

    4、破壞程序的異常處理機制

    5、違背URL和資源定位的初衷

    6、ajax不能很好的支持移動設備

    7、太多客戶端代碼造成開發上的成本

5、Ajax適用場景
  <1>.表單驅動的交互
  <2>.深層次的樹的導航
  <3>.快速的用戶與用戶間的交流響應
  <4>.類似投票、yes/no等無關痛癢的場景
  <5>.對數據進行過濾和操縱相關數據的場景
  <6>.普通的文本輸入提示和自動完成的場景
6、Ajax不適用場景
  <1>.部分簡單的表單
  <2>.搜索
  <3>.基本的導航
  <4>.替換大量的文本
  <5>.對呈現的操縱

7、代碼

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  dataType: dataType,
  success: function () {},
  error: function () {}
});

8、ajax請求的五個步驟

  1. 創建XMLHttpRequest異步對象

  2. 設置回調函數

  3. 使用open方法與服務器建立連接

  4. 向服務器發送數據

  5. 在回調函數中針對不同的響應狀態進行處理

axios:

1、axios是什么

Axios 是一個基于 Promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。

2、axios有那些特性?

  1、在瀏覽器中創建 XMLHttpRequests

  2、在node.js則創建http請求

  3、支持Promise API

  4、支持攔截請求和響應

  5、轉換請求和響應數據

  6、取消請求

  7、自動轉換成JSON數據格式

  8、客戶端支持防御XSRF

3、執行get請求,有兩種方式

// 第一種方式  將參數直接寫在url中axios.get('/getMainInfo?id=123')
.then((res) => {
  console.log(res)
})
.catch((err) => {
  console.log(err)
})// 第二種方式  將參數直接寫在params中axios.get('/getMainInfo', {  params: {
    id: 123
  }
})
.then((res) => {
  console.log(res)
})
.catch((err) => {
  console.log(err)
})

4、執行post請求,注意執行post請求的入參,不需要寫在params字段中,這個地方要注意與get請求的第二種方式進行區別。

axios.post('/getMainInfo', {
  id: 123})
.then((res) => {
  console.log(res)
})
.catch((err) => {
  console.log(err)
})

axios和ajax的區別:

axios是通過Promise實現對ajax技術的一種封裝,就像jquery對ajax的封裝一樣,簡單來說就是ajax技術實現了局部數據的刷新,axios實現了對ajax的封裝,axios有的ajax都有,ajax有的axios不一定有,總結一句話就是axios是ajax,ajax不止axios。

注: 傳統Ajax 指的是 XMLHttpRequest(XHR),
  axios和jQuer ajax都是對Ajax的封裝

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄浦区| 蓬安县| 盐池县| 天津市| 仙游县| 阿勒泰市| 台东市| 信宜市| 通许县| 望都县| 霍城县| 铁岭市| 安国市| 惠安县| 湘阴县| 改则县| 普兰县| 克拉玛依市| 垦利县| 若尔盖县| 右玉县| 松江区| 湘潭市| 邹平县| 永福县| 嘉兴市| 东丽区| 宁强县| 嵩明县| 昆明市| 黑龙江省| 山西省| 应城市| 襄汾县| 贵港市| 城市| 隆回县| 正宁县| 登封市| 德江县| 盐山县|