1. 程式人生 > 實用技巧 >以JSON形式實現前端互動2(BOSS直聘動態)

以JSON形式實現前端互動2(BOSS直聘動態)

先用vue重構頁面

先看index.html完整程式碼

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <
link rel="stylesheet" type="text/css" href="main.css"/> </head> <body> <div class="container" id='app'> <div class="home-header"> <img src="img/home-search-text.png" > <form action="" method=""> <
input type="" name="" id="" value="" /> <button type="button">搜尋</button> </form> </div> <div class="categories"> <div v-for="item in categories" :key='item.index'> <
div class="cate-one"> {{item.name}} <img :src="item.icon"> </div> <div> <ul> <li v-for="tags in item.tags"><a href="">{{tags}}</a></li> </ul> </div> </div> </div> <div class="footer"> <p>違法和不良資訊舉報郵箱:[email protected]</p> <p>違法和不良資訊舉報郵箱:[email protected]</p> </div> </div> <script src="vue.js" type="text/javascript" charset="utf-8"></script> <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/3.4.1/fetch.min.js"></script> --> <script src="axios.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> const vm = new Vue({ el: '#app', data: { categories: [] }, created: function() { // fetch第一步用得到Promise,用.josn()返回josn資料後再來一個then才能得到資料 // fetch("http://127.0.0.1:8848/BOSS/api/index.json") // .then(res => res.json()) // .then(data => this.categories = data) // 好像fetch預設是get方法吧,下面換成post是失效的。 // fetch("http://127.0.0.1:8848/BOSS/api/index.json", { // method: 'get' // }).then(res => res.json()) // .then(data => this.categories = data) // 如果用axios就更簡單了 axios.get("http://127.0.0.1:8848/BOSS/api/index.json") .then(res => this.categories = res.data ) } }) </script> </body> </html>

在靜態頁面建好以後就可以新建.json檔案了。

josn檔案和資料格式有一定要求,按照下面寫:

[
    {
    "icon": "img/technology.png",
        "name": "技術",
        "tags": ["Java", "PHP", "NodeJs"]
    }, {
        "icon": "img/technology.png",
        "name": "技術2",
        "tags": ["Java2", "PHP2", "NodeJs2"]
    }
]

怎麼呼叫呢?

1 首先看路徑,在瀏覽器中開啟index.html,網址為:http://127.0.0.1:8848/BOSS/index.html,把後面的index.html刪除,寫上.json檔案的路徑如下:

路徑為:http://127.0.0.1:8848/BOSS/api/index.json

2 呼叫.json檔案可以直接用promise,或者fethch,或者axios。

先用fetch呼叫看看:

控制檯可以看到輸出了陣列

再試試按照完整寫法去寫fetch:(這說明fetch預設應該是get方法)

控制檯可以看到輸出了陣列

再試試用axios的方式呼叫.json(axios.js要去百度下載)

上面三種方法都是可以得到.json檔案中的資料的。