axio.get(“http:xxx/”).then((res)=>{ 処理 });
json_test_async.vue
<template> <div class="container"> <div> <!-- <logo /> --> <div class="title"> {{ title }} </div> <div class="subtitle"> {{ msg }} </div> <button @click="get_json_click">get json</button> <p class="html_data"> {{json_data}} </p> <table> <tr> <th>user id</th> <td>{{json_data.userId}}</td> </tr> <tr> <th>id</th> <td>{{json_data.id}}</td> </tr> <tr> <th>title</th> <td>{{json_data.title}}</td> </tr> <tr> <th>body</th> <td>{{json_data.body}}</td> </tr> </table> </div> </div> </template> <script> const axios = require('axios'); let url = "https://jsonplaceholder.typicode.com/posts/1"; export default { data: function(){ return { title:'AXIOS', msg: 'GET JSON', json_data: {}, }; }, methods:{ get_json_click: function(event){ axios.get(url) .then( (ret)=>{ this.json_data = ret.data; }) .catch((error)=>{ this.msg = 'ERROR'; }); } } } </script> <style> .container { margin: 0 auto; min-height: 100vh; display: flex; justify-content: center; align-items: center; text-align: center; } .title { font-family: 'Quicksand', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; display: block; font-weight: 300; font-size: 20px; color: #35495e; letter-spacing: 1px; padding-bottom: 5px; } .subtitle { font-weight: 300; font-size: 14px; color: #526488; word-spacing: 5px; padding-bottom: 15px; } .links { padding-top: 15px; } </style>