Ajax-03.Axios-案例

[复制链接]
发表于 2026-2-8 14:42:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
基于Vue以及Axios完成数据动态加载展示

    1.数据准备的url:https://yapi.pro/mock/401965/user/getById

    2.在页面加载完成后,自动发送异步哀求,加载数据,渲染展示页面(性别:1代表男,2代表女)
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Ajax-Axios-案例</title>
  7.     <script src="js/axios.js"></script>
  8.     <script src="js/vue.js"></script>
  9.     <style>
  10.         table {
  11.             text-align: center;
  12.             margin: 0 auto;
  13.             border: 1px solid black;
  14.         }
  15.         th,td {
  16.             border: 1px solid black;
  17.         }
  18.     </style>
  19. </head>
  20. <!--
  21.     基于Vue以及Axios完成数据动态加载展示
  22.     1.数据准备的url:https://yapi.pro/mock/401965/user/getById
  23.     2.在页面加载完成后,自动发送异步请求,加载数据,渲染展示页面(性别:1代表男,2代表女)
  24. -->
  25. <body>
  26.     <div id="app">
  27.         <table cellspacing="0" width="60%">
  28.             <tr>
  29.                 <th>编号</th>
  30.                 <th>姓名</th>
  31.                 <th>图像</th>
  32.                 <th>性别</th>
  33.                 <th>职位</th>
  34.                 <th>入职日期</th>
  35.                 <th>最后操作时间</th>
  36.             </tr>
  37.             <tr v-for="(emp,index) in emps">  <!-- 遍历展示数组emps中的数据 -->
  38.                 <td >{{index + 1}}</td>
  39.                 <td>{{emp.name}}</td>
  40.                 <td>
  41.                     <img  v-bind:src="emp.image" width="70px" height="50px">
  42.                 </td>
  43.                 <td>
  44.                     <span v-if="emp.gender == 1">男</span>
  45.                     <span v-if="emp.gender == 2">女</span>
  46.                 </td>
  47.                 <td>{{emp.job}}</td>
  48.                 <td>{{emp.entrydate}}</td>
  49.                 <td>{{emp.updatedate}}</td>
  50.             </tr>
  51.         </table>
  52.     </div>
  53. </body>
  54. <script>
  55.     new Vue({
  56.         el:"#app",
  57.         data:{
  58.             emps:[] // 赋值给vue中的数据模型emps数组
  59.         },
  60.         mounted () {  // mounted:vue生命周期中的挂载完成状态,当挂载完成后,自动调用axios的get方法用来向服务器请求数据
  61.             // 发送异步请求,加载数据
  62.             axios.get("https://yapi.pro/mock/401965/user/getById").then(result => {  // 将请求到的数据交给一个result对象
  63.                 /*  
  64.                 调用result中的data属性拿到数据,然后我们只需要拿到服务器中的data这个属性名对应下的属性值即可,因此再次.data
  65.                 然后把他交给this.emps,this代表的就是当前对象,emps就是vue对象下的一个数据模型(是一个数组)
  66.                 */
  67.                 this.emps = result.data.data;   
  68.             });
  69.         }
  70.     })
  71. </script>
  72. </html>
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表