欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器示例代碼

 更新時(shí)間:2023年10月14日 15:06:14   作者:鄭建007  
Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求,post在真正接受數(shù)據(jù)之前會(huì)先將請(qǐng)求頭發(fā)送給服務(wù)器進(jìn)行確認(rèn),然后才真正發(fā)送數(shù)據(jù),本文給大家介紹vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器示例代碼,感興趣的朋友一起看看吧

一、GET 和 POST 傳參方式的優(yōu)缺點(diǎn)

        1.post更安全(不會(huì)作為url的一部分,不會(huì)被緩存,保存在服務(wù)器日志,以及瀏覽器瀏覽記錄中)

        2.post發(fā)送的數(shù)據(jù)量更大(get有url長(zhǎng)度限制)

        3.post能發(fā)送更多的數(shù)據(jù)類型(get只能發(fā)送ASCII字符)

        4.post比get慢

        5.Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求。

        5.Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求。

        7.post請(qǐng)求包含更多的請(qǐng)求頭

        8.post在真正接受數(shù)據(jù)之前會(huì)先將請(qǐng)求頭發(fā)送給服務(wù)器進(jìn)行確認(rèn),然后才真正發(fā)送數(shù)據(jù)

二、GET 和 POST 傳參方式的請(qǐng)求過(guò)程

post請(qǐng)求的過(guò)程:

1.瀏覽器請(qǐng)求tcp連接(第一次握手)
2.服務(wù)器答應(yīng)進(jìn)行tcp連接(第二次握手)
3.瀏覽器確認(rèn),并發(fā)送post請(qǐng)求頭(第三次握手,這個(gè)報(bào)文比較小,所以http會(huì)在此時(shí)進(jìn) 行第一次數(shù)據(jù)發(fā)送)
4.服務(wù)器返回100 continue響應(yīng)
5.瀏覽器開(kāi)始發(fā)送數(shù)據(jù)
6.服務(wù)器返回200 ok響應(yīng)

get請(qǐng)求的過(guò)程

1.瀏覽器請(qǐng)求tcp連接(第一次握手)
2.服務(wù)器答應(yīng)進(jìn)行tcp連接(第二次握手)
3.瀏覽器確認(rèn),并發(fā)送get請(qǐng)求頭和數(shù)據(jù)(第三次握手,這個(gè)報(bào)文比較小,所以http會(huì)在此時(shí)進(jìn)行第一次數(shù)據(jù)發(fā)送)
4.服務(wù)器返回200 ok響應(yīng)。

三、axios使用

1、axios的安裝

$  npm install axios   // 使用npm
$  bower install axios   // 使用bower
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>   // 通過(guò)cdn直接調(diào)用

2、axios的引入

import axios from 'axios';

3、get

 第一種參(參數(shù)在url上)

axios.get('/adate?id=123').then(res => {
    console.log(res);
})

第二種傳參(通過(guò)param選項(xiàng)傳遞參數(shù))

axios.get('/adate?id=123',{
    params: {
        id: 1
    }
}).then(res => {
    console.log(res);
})

4、post

axios.post('/api/axios', {
    uname: 'lisi',
    pwd: 123
}).then(ret => {
    console.log(ret.data)
})

四、攔截器

1、請(qǐng)求攔截器

import axios from 'axios'
 
const service = axios.create({
    baseURL: '基礎(chǔ)路徑',
    timeout: 15000
})
 
//添加請(qǐng)求攔截器   請(qǐng)求接口統(tǒng)一添加token
service.interceptors.request.use(
    config =>{
        // 成功的回調(diào)
    },
    error =>{
        // 失敗的回調(diào)    
    }
)
 
export default service

2、響應(yīng)攔截器

import axios from 'axios'
 
const service = axios.create({
    baseURL: '基礎(chǔ)路徑',
    timeout: 15000
})
 
// 響應(yīng)攔截器
service.interceptors.response.use(
    response => {
        // 成功回調(diào)
    },
    error => {
        // 失敗回調(diào)
    }
)
 
export default service

3、案例

/**
 * 請(qǐng)求封裝
 */
import axios from 'axios';
import configUrl from './url.js';
import store from '../store';
 
const service = axios.create({
    baseURL: configUrl.baseURL,
    // withCredentials: true, // 當(dāng)跨域請(qǐng)求時(shí)發(fā)送cookie
    timeout: 15000 // 請(qǐng)求超時(shí)
});
 
//添加請(qǐng)求攔截器   請(qǐng)求接口統(tǒng)一添加token
service.interceptors.request.use(
    config =>{
        config.headers.token = store.getters.token || '';  //請(qǐng)求添加token
        return config;
    },
    error =>{
        return Promise.reject(error);
    }
)
 
// 響應(yīng)攔截器
service.interceptors.response.use(
    response => {
        //如果接口返回token,替換本地舊token
        if (response.headers.token) {
            sessionStorage.setItem("token", response.headers.token);
        }
        //自定義設(shè)置后臺(tái)返回code對(duì)應(yīng)的響應(yīng)方式
        if (response.data.code == 203) { // 未登錄或登錄超時(shí)
            return Promise.reject(new Error('登錄超時(shí)'));
        } else { //接口正常,返回?cái)?shù)據(jù)
            return response;
        }
    },
    error => {
        if (error.message) {
				// this.$massage.error('服務(wù)器開(kāi)小差了,請(qǐng)稍后再試!')   
				//錯(cuò)誤響應(yīng)
				alert('服務(wù)器開(kāi)小差了,請(qǐng)稍后再試!')   
        }
        return Promise.reject(error);
    }
);
//暴露出封裝過(guò)的服務(wù)
export default service;

到此這篇關(guān)于vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器的文章就介紹到這了,更多相關(guān)axios get請(qǐng)求和post請(qǐng)求傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論