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

通過Vue+axios獲取接口數(shù)據(jù)的示例詳解

 更新時間:2025年08月01日 09:51:43   作者:黛琳ghz  
這篇文章主要介紹了Vue結(jié)合axios獲取笑話接口數(shù)據(jù)的示例,重點講解axios的特性、使用方法及請求方式,演示如何通過get方法獲取數(shù)據(jù)并展示,同時解決this指向問題,感興趣的小伙伴跟著小編一起來看看吧

前言

關(guān)于這個Vue + axios 獲取接口數(shù)據(jù)的小demo,實現(xiàn)效果很簡單,就是在Vue語法中,通過axios來獲取接口的數(shù)據(jù),然后打印出來,這里我們使用的是一個笑話的接口,其中重點關(guān)注的是如何使用axios、通過axios獲取接口數(shù)據(jù),因此這里就不介紹Vue的代碼了,接下來先了解學(xué)習(xí)一下axios概要和使用方法(學(xué)過的可以直接看案例)。

關(guān)于axios概要

什么是axios

  • 背景:以前關(guān)于get、post、put等請求,我們第一時間都想到就是jQuery。但如今隨著Vue、React等優(yōu)秀框架的出現(xiàn),jQuery逐漸淡出了市場,同時促使了axios輕量級HTTP庫的出現(xiàn)。
  • Axios,是一個基于promise的網(wǎng)絡(luò)請求庫,類似于jQuery的AJAX,作用于node.js和瀏覽器中,它是 isomorphic 的(即同一套代碼可以運行在瀏覽器和node.js中)。在服務(wù)端它使用原生node.js http模塊, 而在客戶端 (瀏覽端) 則使用XMLHttpRequest。

axios特性

  1. 支持 Promise API
  2. 攔截請求和響應(yīng)(可以在請求前及響應(yīng)前做某些操作,例如,在請求前想要在這個請求頭中加一些信息,如授權(quán)信息等)。
  3. 轉(zhuǎn)換請求數(shù)據(jù)和響應(yīng)數(shù)據(jù)(例如,在請求時一些敏感信息需要加密,在返回數(shù)據(jù)時需要解密)
  4. 取消請求(在解決高并發(fā)時,取消一些不必要的冗余重復(fù)請求)
  5. 自動轉(zhuǎn)換JSON數(shù)據(jù)(HTTP 請求時,傳輸?shù)臄?shù)據(jù)都是字符串,如果服務(wù)器端返回的數(shù)據(jù)不是字符串類型,就需要使用JSON.parse()對它進行轉(zhuǎn)換。然后向后臺發(fā)起數(shù)據(jù)請求,會自動地進行轉(zhuǎn)換,不需要進行手動操作)。
  6. 客戶端支持防御XSS攻擊(XSS是客戶端經(jīng)常出現(xiàn)的一種攻擊方式,它發(fā)生在目標(biāo)用戶的瀏覽器層面上,當(dāng)渲染DOM樹的過程中發(fā)生了不在預(yù)期范圍內(nèi)的JavaScript代碼執(zhí)行時,就可以被判定為發(fā)生了XSS攻擊)。

axios瀏覽器支持情況

axios安裝與使用

Github開源地址: https://github.com/axios/axios

  • 使用CDN鏈接axios(這種方式較少使用,目前基本上都是腳手架創(chuàng)建項目后采用ES6 Modules引入需要的插件,但是這里的小demo可以使用這個,非常方便)
  • 使用 jsDelivr CDN:
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  • 使用 unpkg CDN:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  • 使用 npm安裝:
$ npm install axios
  • 使用 cnpm安裝:
$ cnpm install axios
  • 使用 yarn安裝:
$ yarn add axios

axios請求方法

  1. get:獲取數(shù)據(jù)
  2. post:提交數(shù)據(jù)(表單提交 + 文件上傳,一般用于提交數(shù)據(jù),如上傳圖片或上傳 Excel 文件等)。
  3. put:更新數(shù)據(jù)(所有數(shù)據(jù)推送到后端)。
  4. patch:更新數(shù)據(jù)(只將修改的數(shù)據(jù)推送到后端)
  5. delete:刪除數(shù)據(jù)
  6. 這5個請求方法都是由后端定義的,也就是說,因為請求的接口都是請求到后端,然后由后端去操作數(shù)據(jù)庫,把數(shù)據(jù)進行存儲、修改和刪除,所以具體的請求方法都是由后端來確定的。
  7. 具體就不介紹每個方法的使用案例了

axios的使用方法(以get為例子)

方法一

axios.get("url").then(function (res) {
    console.log(res);
    }),
function (err) {
    console.log(err);
    }

方法二

axios({
     method: "get",
     url: "url"
}).then(res => {
     console.log(res);
}), (err) => console.log(err)

demo介紹

  • 布局和樣式就是一個按鈕加一個顯示文字的區(qū)域,這不是重點,重點通過axios獲取到數(shù)據(jù)。
  • 功能就是點擊按鈕后,通過axios獲取到數(shù)據(jù),然后顯示在方框中。
  • 使用的接口如下:

完整代碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<style>
</style>

<body>
    <div id="app">
        <input type="button" @click="getJoke" value="點擊獲取笑話數(shù)據(jù)">
        <div style="width: 400px;height: 400px; border: 1px solid; overflow: auto;">{{joke}}</div>
    </div>
</body>
<!-- 通過CDN鏈接axios -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    //vue2寫法
    // var app =new Vue({
    //     el:'#app',
    //     data:{

    //     },
    //     methods:{

    //     }
    // }).mount('#app');
    const {
        createApp
    } = Vue
    createApp({
        data() {
            return {
                joke: "通過axios獲取笑話"
            }
        },
        methods: {
            getJoke: function () {
                //axios獲取后端接口數(shù)據(jù)方法一
                // console.log(this.joke);
                var that = this
                axios.get("https://autumnfish.cn/api/joke").then(
                        function (res) {
                            console.log(res.data);
                            // console.log(that.joke);
                            that.joke = res.data
                        }),
                    function (err) {
                        console.log(err);
                    }

                //axios獲取后端接口數(shù)據(jù)方法二
                // axios({
                //     method: "get",
                //     url: "https://autumnfish.cn/api/joke"
                // }).then(res => {
                //     console.log(res);
                // }), (err) => console.log(err)
            }
        },
    }).mount('#app')
</script>

</html>

實現(xiàn)效果

案例分析

  • 按鈕通過v-on綁定一個點擊事件,點擊之后執(zhí)行axios.get這個方法。
  • 文字區(qū)域通過v-model實現(xiàn)數(shù)據(jù)雙向綁定,把通過axios獲取到的數(shù)據(jù)顯示在上面。
  • 這里要注意var that = this這段代碼,在axios回調(diào)函數(shù)中的this已經(jīng)改變無法訪問到data中數(shù)據(jù),因此通過var that = this這段代碼把this保存起來,然后回調(diào)函數(shù)中直接使用保存的this即可。

以上就是通過Vue+axios獲取接口數(shù)據(jù)的示例詳解的詳細內(nèi)容,更多關(guān)于Vue axios獲取接口數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • nuxt 頁面路由配置,主頁輪播組件開發(fā)操作

    nuxt 頁面路由配置,主頁輪播組件開發(fā)操作

    這篇文章主要介紹了nuxt 頁面路由配置,主頁輪播組件開發(fā)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue分片上傳視頻并轉(zhuǎn)換為m3u8文件播放的實現(xiàn)示例

    vue分片上傳視頻并轉(zhuǎn)換為m3u8文件播放的實現(xiàn)示例

    前端上傳大文件、視頻的時候會出現(xiàn)超時、過大、很慢等情況,為了解決這一問題,跟后端配合做了一個切片的功能,本文主要介紹了vue分片上傳視頻并轉(zhuǎn)換為m3u8文件播放的實現(xiàn)示例,感興趣的可以了解一下
    2023-11-11
  • 解決IE11 vue +webpack 項目中數(shù)據(jù)更新后頁面沒有刷新的問題

    解決IE11 vue +webpack 項目中數(shù)據(jù)更新后頁面沒有刷新的問題

    今天小編就為大家分享一篇解決IE11 vue +webpack 項目中數(shù)據(jù)更新后頁面沒有刷新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vite配置代理Proxy解決跨域問題小結(jié)

    Vite配置代理Proxy解決跨域問題小結(jié)

    我們在做項目的時候經(jīng)常會遇到跨域的問題,下面這篇文章主要給大家介紹了關(guān)于Vite配置代理Proxy解決跨域問題的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • vue權(quán)限問題的完美解決方案

    vue權(quán)限問題的完美解決方案

    今天來說說權(quán)限管理,因為網(wǎng)上已經(jīng)有很多關(guān)于這方面的很多內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于vue權(quán)限問題的完美解決方案,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • el-input限制輸入正整數(shù)的兩種實現(xiàn)方式

    el-input限制輸入正整數(shù)的兩種實現(xiàn)方式

    el-input框是Element UI庫中的一個輸入框組件,用于接收用戶的輸入,這篇文章主要介紹了el-input限制輸入正整數(shù),需要的朋友可以參考下
    2024-02-02
  • 淺談Vue使用Elementui修改默認(rèn)的最快方法

    淺談Vue使用Elementui修改默認(rèn)的最快方法

    這篇文章主要介紹了淺談Vue使用Elementui修改默認(rèn)的最快方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 基于el-tree實現(xiàn)懶加載穿梭條的示例代碼

    基于el-tree實現(xiàn)懶加載穿梭條的示例代碼

    這篇文章主要介紹了基于el-tree實現(xiàn)懶加載穿梭條的示例代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Vue2中compiler和runtime模式報錯template compiler is not available

    Vue2中compiler和runtime模式報錯template compiler is 

    本文主要介紹了Vue2中compiler和runtime模式報錯template compiler is not available,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Vue2父子組件傳值舉例詳解

    Vue2父子組件傳值舉例詳解

    這篇文章主要給大家介紹了關(guān)于Vue2父子組件傳值的相關(guān)資料,Vue 2.0 中父子組件之間的傳值可以通過屬性(prop)和事件(event)實現(xiàn),文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05

最新評論

府谷县| 马关县| 和林格尔县| 玛纳斯县| 曲靖市| 刚察县| 罗定市| 庆城县| 陆良县| 信丰县| 阿荣旗| 互助| 罗甸县| 普安县| 苏尼特右旗| 灵石县| 昌图县| 翁牛特旗| 交口县| 噶尔县| 通山县| 天峨县| 定远县| 五指山市| 孟村| 汾阳市| 阿鲁科尔沁旗| 申扎县| 中方县| 邻水| 靖州| 壶关县| 惠来县| 濮阳市| 周口市| 平江县| 九江县| 长丰县| 醴陵市| 如东县| 承德市|