首頁 > 軟體

Vue axios庫傳送請求的範例介紹

2022-08-05 22:00:55

1.什麼是axios

Axios,是一個基於 promise 的網路請求庫,作用於node.js和瀏覽器中,它是 isomorphic 的(即同一套程式碼可以執行在瀏覽器和node.js中)。

使用方式如下:

<script>
        //呼叫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請求圖例

3.使用 async 和 await 配合 axios 發起請求

async和await必須結合使用,有await必須要使用async, 有async不一定要使用await,await是將非同步轉為同步,async 和 await 是 es7語法

 <script src="../lib/axios/axios.js"></script>
    <button id="app">post請求</button>
    <script>
        document.querySelector("#app").addEventListener("click", async function() {
            // 如果呼叫某個方法
            // 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.使用解構賦值

1.解構賦值的時候,使用 : 進行重新命名

2.呼叫 axios 之後,使用 async /await 進行簡化

3.使用解構賦值,從 axios 封裝的大物件中, 把 data 屬性解構出來 { data }

4.為了後期方便,把解構出來的 data 屬性,使用冒號 : 進行重新命名 ,一般重新命名為 { data: res }

5.程式碼演示:

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

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

程式碼如下:

 //axios.post('url地址',{post請求資料體})
        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引數
        //     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)

測試結果如下:

到此這篇關於Vue axios庫傳送請求的範例介紹的文章就介紹到這了,更多相關Vue axios傳送請求內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com