最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue2中使用axios及axios攔截器的配置教程

 更新時(shí)間:2023年05月08日 11:36:47   作者:。Idea  
眾所周知Axios是一個基于promise的HTTP庫,可以用在瀏覽器和 node.js中,下面這篇文章主要給大家介紹了關(guān)于vue2中使用axios及axios攔截器的配置的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、vue2項(xiàng)目中如何實(shí)現(xiàn)異步請求

1、axios:是一個基于Promise的網(wǎng)絡(luò)請求庫。

既可以在node.js(服務(wù)器端)使用,也可以在瀏覽器端使用

(1)在node.js中使用的原生的http模塊

(2)在瀏覽器中使用的XMLHttpRequest

2、vue中的使用方法

(1)安裝:npm install axios

? (2)引用方法: ? 

A、原生的方式(不推薦使用)

  axios({
      url: 'http://localhost:8089/students/test',  //遠(yuǎn)程服務(wù)器的url
      method: 'get' //請求方式
    }).then(res=>{
      this.students = res.data
    }).catch(e=>{
      console.log(e)
    })
//缺點(diǎn):每個使用axios的組件都需要導(dǎo)入

強(qiáng)調(diào):axios對服務(wù)器端數(shù)據(jù)的封裝

? res.config:響應(yīng)信息的配置情況

? res.data:響應(yīng)的數(shù)據(jù)

? res.headers:響應(yīng)頭信息(信息的大小、信息的類型)

? res.request:異步的請求對象(XMLHttpRequest)

? res.status:請求-響應(yīng)的狀態(tài)碼(200)

? res.statusText:請求-響應(yīng)狀態(tài)碼對應(yīng)的文本信息

B、在項(xiàng)目的main.js文件中導(dǎo)入axios,將其寫入Vue的原型中(推薦使用)

//該文件是腳手架項(xiàng)目中的main.js
import axios from "axios";
Vue.prototype.$http = axios //在Vue的原型上添加一個$http屬性,該屬性保存了axios
axios.defaults.baseURL = 'http://localhost:8089'

 在組件中通過this.$http的方式來使用

this.$http.get('http://localhost:8089/students/test').then(res=>{
          this.students = res.data
}).catch(e=>{
          console.log(e)
})

缺點(diǎn):只能在vue2中使用,vue3中不能用 C、將axios單獨(dú)封裝到某個配置文件中(在配置文件中單獨(dú)封裝axios實(shí)例)—— (推薦使用)

在\src\assets靜態(tài)資源文件夾下創(chuàng)建axios配置文件

//配置文件:axiosapi.js
import axios from "axios";
const axiosapi = axios.create({
    baseURL: 'http://localhost:3000', //基礎(chǔ)的服務(wù)器地址
    timeout: 5000  //連接超時(shí)的時(shí)間(單位是毫秒)
})
export default  axiosapi  //axiosapi是axios的實(shí)例

在組件中使用如下:

import $http  from '../config/axiosapi'  //$http是在導(dǎo)入時(shí)自定義的命名可變的
$http.get('/students/test').then(res=>{
          this.students = res.data
}).catch(e=>{
          console.log(e)
})

優(yōu)點(diǎn):既可以在Vue2中使用,也可以在Vue3中使用

3、axios中不同請求方式向服務(wù)器提交數(shù)據(jù)的格式:

(1)get方式請求:服務(wù)器端通過 req.query.參數(shù)名 來接收

? 第一種:直接將請求參數(shù)綁在url地址上。

 第二種:通過params方式進(jìn)行提交

(2)post方式請求:服務(wù)器端通過 req.body.參數(shù)名 來接收 

(3)put方式請求:和post方式一樣    // 傳參的方式

? (4)delete方式請求:和get方式一樣   // 傳參的方式

二、axios攔截器的配置

1、axios模塊的作用:是對基于http請求的封裝。

在瀏覽器對異步請求對象XMLHttpRequest進(jìn)行封裝

2、攔截器: ?

(1)請求攔截器:對客戶端發(fā)起的請求進(jìn)行統(tǒng)一的前期處理

                                (token、時(shí)間戳、cookie等) ?

(2)響應(yīng)攔截器:對服務(wù)器端響應(yīng)給客戶端的數(shù)據(jù)統(tǒng)一進(jìn)行處理之后再發(fā)給客戶端

axios配置文件如下:

import axios from "axios";
 
//1. 創(chuàng)建axios實(shí)例,配置基礎(chǔ)路徑
const axiosapi = axios.create({
    baseURL:'http://localhost:3000',
    timeout:5000,//連接超時(shí)
});
 
//2. 定義請求攔截器:給所有請求都帶上token
axiosapi.interceptors.request.use((req)=>{
    let token = sessionStorage.getItem('Auth');//獲取頁面存儲的token
    if (token) {
        req.headers['Auth'] = token;//將token添加至請求頭對象的Auth屬性中
    }
    return req;
},(error)=>{//返回錯誤的信息
    return Promise.reject(error);
});
 
//3. 定義響應(yīng)攔截器: 對服務(wù)器響應(yīng)客戶端的數(shù)據(jù)進(jìn)行統(tǒng)一處理
axiosapi.interceptors.response.use(res=>{
    //3.1 對響應(yīng)數(shù)據(jù)進(jìn)行處理
    let data = res.data;
    let code = data.code;
    if(code === 200){
        //請求成功時(shí),將res.data對象返回給響應(yīng)對象
        return data;
    } else {
        return Promise.reject(data);
    }
},(error)=>{
    return Promise.reject(error);
})
 
//4. 導(dǎo)出axios實(shí)例,供組件異步請求使用
export default axiosapi;

總結(jié)

到此這篇關(guān)于vue2中使用axios及axios攔截器的配置的文章就介紹到這了,更多相關(guān)vue2 axios攔截器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js條件渲染和列表渲染以及Vue中key值的內(nèi)部原理

    Vue.js條件渲染和列表渲染以及Vue中key值的內(nèi)部原理

    這篇文章主要介紹了Vue.js條件渲染和列表渲染,以及Vue中key值的內(nèi)部原理,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • 對Vue beforeRouteEnter 的next執(zhí)行時(shí)機(jī)詳解

    對Vue beforeRouteEnter 的next執(zhí)行時(shí)機(jī)詳解

    今天小編就為大家分享一篇對Vue beforeRouteEnter 的next執(zhí)行時(shí)機(jī)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue計(jì)算屬性及使用詳解

    vue計(jì)算屬性及使用詳解

    計(jì)算屬性就是模板內(nèi)的表達(dá)式非常便利,但是設(shè)計(jì)它們的初衷是用于簡單運(yùn)算的。這篇文章主要介紹了vue計(jì)算屬性詳解,需要的朋友可以參考下
    2018-04-04
  • vue+canvas繪制時(shí)間軸的方法

    vue+canvas繪制時(shí)間軸的方法

    這篇文章主要為大家詳細(xì)介紹了vue+canvas繪制時(shí)間軸的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解element ui 添加自定義方法

    詳解element ui 添加自定義方法

    今天在修改 el-table 源碼過程中遇到一個頭大的問題,原本修改編譯后,將 element的子目錄lib下的文件復(fù)制到項(xiàng)目的響應(yīng)目錄里就可以了,但是這次總出問題,下面小編給大家分享element ui 添加自定義方法,感興趣的朋友一起看看吧
    2024-02-02
  • vue2.0使用Sortable.js實(shí)現(xiàn)的拖拽功能示例

    vue2.0使用Sortable.js實(shí)現(xiàn)的拖拽功能示例

    本篇文章主要介紹了vue2.0使用Sortable.js實(shí)現(xiàn)的拖拽功能示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Vue3中ref和reactive的區(qū)別及說明

    Vue3中ref和reactive的區(qū)別及說明

    在Vue3中,ref主要用于基本數(shù)據(jù)類型和單個數(shù)據(jù)管理,需要用.value訪問,reactive適用于對象和多數(shù)據(jù)管理,直接訪問屬性,ref支持解構(gòu)保持響應(yīng)性,reactive解構(gòu)后失去響應(yīng)性,選擇合適的方法可以使代碼更優(yōu)化
    2024-11-11
  • 基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移功能(支持跨頁移動)

    基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移功能(支持跨頁移動)

    有時(shí)候需要前端實(shí)現(xiàn)上移和下移功能,下面這篇文章主要給大家介紹了關(guān)于如何基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移(支持跨頁移動)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • vue項(xiàng)目實(shí)現(xiàn)對某個區(qū)域繪制水印

    vue項(xiàng)目實(shí)現(xiàn)對某個區(qū)域繪制水印

    這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目實(shí)現(xiàn)對某個區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等)

    解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等)

    這篇文章主要介紹了解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論

巢湖市| 光泽县| 康乐县| 禄丰县| 卫辉市| 白玉县| 方正县| 常德市| 巧家县| 碌曲县| 安国市| 玉田县| 台南县| 岳普湖县| 芦溪县| 通海县| 浮山县| 平陆县| 兴化市| 呼伦贝尔市| 峡江县| 平度市| 余姚市| 山东省| 安平县| 筠连县| 广汉市| 桦川县| 甘泉县| 吉安县| 庄河市| 临沧市| 大安市| 宽甸| 龙陵县| 东辽县| 福贡县| 金华市| 昌宁县| 本溪市| 广水市|