溫馨提示×

溫馨提示×

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

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

Vue?axios庫發(fā)送請求怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-08-08 15:59:21 來源:億速云 閱讀:129 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Vue axios庫發(fā)送請求怎么實(shí)現(xiàn)”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

1.什么是axios

Axios,是一個(gè)基于 promise 的網(wǎng)絡(luò)請求庫,作用于node.js和瀏覽器中,它是 isomorphic 的(即同一套代碼可以運(yùn)行在瀏覽器和node.js中)。

使用方式如下:

<script>
        //調(diào)用axios方法得到的返回值是 promise 對象
        axios({
            //請求方式
            method: 'get',
            // 請求地址
            url: 'http://www.liulongbin.top:3006/api/getbooks'//黑馬的老師提供的地址
        }).then(function(books) {
            console.log(books.data)
        })
        // 另一種寫法
        const result = axios({
            method: 'get',
            url: 'http://www.liulongbin.top:3006/api/getbooks'
        })
        result.then(function(books){
            console.log(books.data)
        })
    </script>

2.axios請求圖例

Vue?axios庫發(fā)送請求怎么實(shí)現(xiàn)

3.使用 async 和 await 配合 axios 發(fā)起請求

async和await必須結(jié)合使用,有await必須要使用async, 有async不一定要使用await,await是將異步轉(zhuǎn)為同步,async 和 await 是 es7語法

 <script src="../lib/axios/axios.js"></script>
    <button id="app">post請求</button>
    <script>
        document.querySelector("#app").addEventListener("click", async function() {
            // 如果調(diào)用某個(gè)方法
            // await 只能在被 async 修飾的方法中使用
            const result = await axios({
                method: 'post',
                url: 'http://www.liulongbin.top:3006/api/post',
                data: {
                    name: 'zs',
                    age: 20
                }
            })
            console.log(result)
        })
    </script>

4.使用解構(gòu)賦值

1.解構(gòu)賦值的時(shí)候,使用 : 進(jìn)行重命名

2.調(diào)用 axios 之后,使用 async /await 進(jìn)行簡化

3.使用解構(gòu)賦值,從 axios 封裝的大對象中, 把 data 屬性解構(gòu)出來 { data }

4.為了后期方便,把解構(gòu)出來的 data 屬性,使用冒號 : 進(jìn)行重命名 ,一般重命名為 { data: res }

5.代碼演示:

<script>
        document.querySelector("#app").addEventListener("click", async function() {
            const {
                //使用 :進(jìn)行重命名
                data: res
            } = await axios({
                method: 'post',
                url: 'http://www.liulongbin.top:3006/api/post',
                data: {
                    name: 'zs',
                    age: 20
                }
            })
            console.log(res)
            //也可以單獨(dú)取值
            console.log(res.message)
        })
    </script>

Vue?axios庫發(fā)送請求怎么實(shí)現(xiàn)

5.使用 axios.get() axios.post() 來簡化請求過程

代碼如下:

 //axios.post('url地址',{post請求數(shù)據(jù)體})
        document.querySelector("#app1").addEventListener("click", async function() {
            const {data: res} = await axios.post('http://www.liulongbin.top:3006/api/post', {
                name: 'zs',
                gender: '女'
            })
            console.log(res)
 
        });
        //axios.get('url地址',{
        //     get參數(shù)
        //     params: {}
        // })
        document.querySelector("#app2").addEventListener('click', async function() {
            const {data: res} = await axios.get('http://www.liulongbin.top:3006/api/getbooks', {
                params: {
                    id: 1
                }
            })
            console.log(res)

測試結(jié)果如下:

Vue?axios庫發(fā)送請求怎么實(shí)現(xiàn)

“Vue axios庫發(fā)送請求怎么實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI