1. 程式人生 > 其它 >[LeetCode] 28. 實現 strStr()

[LeetCode] 28. 實現 strStr()

什麼是Axios?

  Axios是一個開源的可以用在瀏覽器端和NodeJS的非同步通訊框架,主要作用

就是實現AJAX非同步通訊,其功能特點如下:

··從瀏覽器中建立XMLHttpRequests

··從node.js建立http請求

··支援Promise API [ JS中鏈式程式設計  ]

··攔截請求和響應

··轉換請求資料和響應資料

··取消請求

··自動轉換JSON資料

··客戶端支援防禦XSRF(跨站請求偽造)

為什麼要使用Axios?

  由於Vue.js是一個檢視層框架並且作者(尤雨溪)嚴格遵守SoC(關注度分離原則),所以

Vue.js並不包含Ajax通訊功能,為了解決通訊問題。作者單獨開發了一個名為vue-rescouce的

外掛,不過在進入2.0版本後停止了對該外掛的維護並推薦了Axios框架。少用jQuery,因為他

操作Dom太頻繁。

第一個Axios程式

  現在開發的介面大部分採用的JSON格式。可以先在專案裡模擬一段JSON資料,資料內容

:建立一個名為data.json的檔案並填入上面的內容,放在專案的根目錄下。

{
"name": "我要學Vue",
"url": "https://www.bilibili.com",
"page": 1,
"isNonProfit": true,
"address": {
"street": "財富門",
"city": "湖南長沙",
"country": "中國"
},
"links": [
{
"name": "hao123",
"links": "https://www.hao123.com"
},
{
"name": "百度",
"links": "https://www.baidu.com"
},
{
"name": "部落格園",
"links": "https://www.cnblogs.com"
}
]
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        <!--解決閃爍-->
        [v-clock]{
            display: none;
        }
    </style>

</head>
<body>

<div id="vue" v-clock>
    <div>{{info.name}}</div>
    <div>{{info.address.street}}</div>

    <a v-bind:href="info.url">點我</a>
</div>
</div>

<!--引入js檔案-->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el: '#vue',
        data(){
            return{
                //請求的返回引數合適,必須和json字串一樣
                info:{
                    name: null,
                    address:{
                        street:null,
                        city:null,
                        country:null
                    },
                    url:null
                }
            }
        },
        mounted(){//鉤子函式 鏈式程式設計 注意要用ES6以上的瀏覽器
            axios.get('../data.json').then(response=>(console.log(this.info=response.data)))
        }
    });
</script>
</body>
</html>