亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

既可以在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' //請(qǐng)求方式
    }).then(res=>{
      this.students = res.data
    }).catch(e=>{
      console.log(e)
    })
//缺點(diǎn):每個(gè)使用axios的組件都需要導(dǎo)入

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

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

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

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

? res.request:異步的請(qǐng)求對(duì)象(XMLHttpRequest)

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

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

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

//該文件是腳手架項(xiàng)目中的main.js
import axios from "axios";
Vue.prototype.$http = axios //在Vue的原型上添加一個(gè)$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ú)封裝到某個(gè)配置文件中(在配置文件中單獨(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中不同請(qǐng)求方式向服務(wù)器提交數(shù)據(jù)的格式:

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

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

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

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

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

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

二、axios攔截器的配置

1、axios模塊的作用:是對(duì)基于http請(qǐng)求的封裝。

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

2、攔截器: ?

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

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

(2)響應(yīng)攔截器:對(duì)服務(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. 定義請(qǐng)求攔截器:給所有請(qǐng)求都帶上token
axiosapi.interceptors.request.use((req)=>{
    let token = sessionStorage.getItem('Auth');//獲取頁面存儲(chǔ)的token
    if (token) {
        req.headers['Auth'] = token;//將token添加至請(qǐng)求頭對(duì)象的Auth屬性中
    }
    return req;
},(error)=>{//返回錯(cuò)誤的信息
    return Promise.reject(error);
});
 
//3. 定義響應(yīng)攔截器: 對(duì)服務(wù)器響應(yīng)客戶端的數(shù)據(jù)進(jìn)行統(tǒng)一處理
axiosapi.interceptors.response.use(res=>{
    //3.1 對(duì)響應(yīng)數(shù)據(jù)進(jìn)行處理
    let data = res.data;
    let code = data.code;
    if(code === 200){
        //請(qǐng)求成功時(shí),將res.data對(duì)象返回給響應(yīng)對(duì)象
        return data;
    } else {
        return Promise.reject(data);
    }
},(error)=>{
    return Promise.reject(error);
})
 
//4. 導(dǎo)出axios實(shí)例,供組件異步請(qǐng)求使用
export default axiosapi;

總結(jié)

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

相關(guān)文章

  • vue路由相對(duì)路徑跳轉(zhuǎn)方式

    vue路由相對(duì)路徑跳轉(zhuǎn)方式

    這篇文章主要介紹了vue路由相對(duì)路徑跳轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Vue2.0利用vue-resource上傳文件到七牛的實(shí)例代碼

    Vue2.0利用vue-resource上傳文件到七牛的實(shí)例代碼

    本篇文章主要介紹了Vue2.0利用vue-resource上傳文件到七牛的實(shí)例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-07-07
  • vue新手入門出現(xiàn)function () { [native code] }錯(cuò)誤的解決方案

    vue新手入門出現(xiàn)function () { [native code]&nbs

    這篇文章主要介紹了vue新手入門出現(xiàn)function () { [native code] }錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue的異步渲染axios問題

    Vue的異步渲染axios問題

    這篇文章主要介紹了Vue的異步渲染axios問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03
  • vue 全局封裝loading加載教程(全局監(jiān)聽)

    vue 全局封裝loading加載教程(全局監(jiān)聽)

    這篇文章主要介紹了vue 全局封裝loading加載教程(全局監(jiān)聽),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue雙向綁定的簡(jiǎn)單實(shí)現(xiàn)

    vue雙向綁定的簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了vue雙向綁定的簡(jiǎn)單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • useEffect理解React、Vue設(shè)計(jì)理念的不同

    useEffect理解React、Vue設(shè)計(jì)理念的不同

    這篇文章主要為大家介紹了useEffect理解React、Vue設(shè)計(jì)理念的不同詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue from-validate 表單驗(yàn)證的示例代碼

    Vue from-validate 表單驗(yàn)證的示例代碼

    本篇文章主要介紹了Vue from-validate 表單驗(yàn)證的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue使用axios發(fā)送請(qǐng)求簡(jiǎn)單實(shí)現(xiàn)代碼

    Vue使用axios發(fā)送請(qǐng)求簡(jiǎn)單實(shí)現(xiàn)代碼

    axios是一個(gè)基于Promise的,發(fā)送http請(qǐng)求的一個(gè)工具庫,并不是vue中的第三方插件,使用時(shí)不能通過“Vue.use()”安裝插件,需要在原型上進(jìn)行綁定
    2023-04-04
  • Vuex modules模式下mapState/mapMutations的操作實(shí)例

    Vuex modules模式下mapState/mapMutations的操作實(shí)例

    這篇文章主要介紹了Vuex modules 模式下 mapState/mapMutations 的操作實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論