使用Vue调取接口,并渲染数据的示例代码


Posted in Javascript onOctober 28, 2019

刚接触vue.js框架的时候,很伤脑筋。今天整理一下post/get两种方式,简单的调取数据库数据,并进行渲染,希望帮助大家!

首先,在HTML页面引入:

//引入vue.js文件
<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
引入vue-resource.min.js文件,就可以引入接口方法了
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>

然后,在body中书写div:

//id在下面js中进行引用
<div id="box">
 
 <table border="1" cellpadding="0" cellspacing="0">
 <tr>
 <td>序号</td>
 <td>姓名</td>
 <td>头像</td>
 </tr>
  //v-for 循环数据表中的数据
 <tr v-for="v in msg">
 <td>{{v.id}}</td>
 <td>{{v.username}}</td> 
 <td>{{v.photo}}</td>
 </tr>
 </table>
</div>

第三,js代码:

<script type = "text/javascript">
window.onload = function(){
//实例化vue类
var vm = new Vue({
 //绑定box
 el:'#box',
 data:{
   //设置msg内容为空,在请求数据前为空的状态
   msg:'',
   },
 mounted:function () {
   //调取本地的get(就在下面)
   this.get();
   },
 methods:{
 get:function(){
   //发送get请求
   this.$http.post('http://你的IP/api/方法',{key:"密钥"},{emulateJSON:true}).then(function(res){
    //msg等于回调函数返回的res(值)
    this.msg=res.body.data;
    //在打印台测试打印,无误后一定要删除
    console.log(res);  
   },function(){
    console.log('请求失败处理');
   });
  }
 }
});
}
</script>

控制器:

public function index()
 {
  //  //引入秘钥
  $pwd=new ApisModel();
  $passwd=$pwd->passwd();
  // print_r($passwd);die;
  //空的数组,等待输入秘钥与存储在model层的秘钥对比
  $date=request()->get();
   // print_r($date);die;
  // 对比秘钥是否一致
  if($date['key']==$passwd){
    $model=new ApisModel();
    $data=$model->role_show();
   
    return json(array('data'=>$data,'code'=>1,'message'=>'操作完成'));
   }else{
    $data = ['name'=>'status','message'=>'操作失败'];
    
    return json(['data'=>$data,'code'=>2,'message'=>'秘钥不正确']);
   }
 
 }

model:

public function passwd(){
 $key='存放在本地的密钥';
  return $key;
 }
 //简单的测试接口
 public function role_show(){
  return Db::name('role_power')->select();
 
 }

OK,post方式搞定了,下面是vue使用get方法进行接口调用,渲染数据

简单粗暴,大致一样,就不一一详解了,上代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
</head>
<body>
 
<div id="box">
 
 <table border="1" cellpadding="0" cellspacing="0">
 <tr>
 <td style="width:130px;height:30px;">ROLE_ID</td>
 <td style="width:130px;height:30px;">POWER_ID</td>
 <td style="width:130px;height:30px;">创建时间</td>
 </tr>
 <tr v-for="v in msg">
 <td style="width:130px;height:30px;">{{v.role_id}}</td>
 <td style="width:130px;height:30px;">{{v.power_id}}</td> 
 <td style="width:130px;height:30px;">{{v.create_time}}</td>
 </tr>
 </table>
</div>
<script type = "text/javascript">
window.onload = function(){
var vm = new Vue({
 el:'#box',
 data:{
   msg:'',
   },
 mounted:function () {
   this.get();
   },
 methods:{
   get:function(){
    //发送get请求
    this.$http.get("http://ip?key=密钥",{emulateJSON:true}).then(function(res){
     console.log(res.body); 
     this.msg=res.body.data; 
    },function(){
     console.log('请求失败处理');
    });
   }
  }
});
}
</script>
</body>
</html>

ok,都测试好了,可以使用,千万别搞错id哦。

以上这篇使用Vue调取接口,并渲染数据的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
setTimeout和setInterval的深入理解
Nov 08 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
javascript操作字符串的原生方法
Dec 22 Javascript
JavaScript实现列出数组中最长的连续数
Dec 29 Javascript
移除AngularJS下URL中的#字符的方法
Jun 19 Javascript
详解JavaScript的表达式与运算符
Nov 30 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
React学习笔记之条件渲染(一)
Jul 02 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
Oct 29 Javascript
JavaScript 反射和属性赋值实例解析
Oct 28 #Javascript
vue 解决数组赋值无法渲染在页面的问题
Oct 28 #Javascript
在vue中把含有html标签转为html渲染页面的实例
Oct 28 #Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 #Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 #Javascript
js实现图片无缝循环轮播
Oct 28 #Javascript
Vue 实现html中根据类型显示内容
Oct 28 #Javascript
You might like
神族 PROTOSS 概述
2020/03/14 星际争霸
pdo中使用参数化查询sql
2011/08/11 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP打印输出函数汇总
2016/08/28 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
JS获取时间的方法
2015/01/21 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
pandas 空数据处理方法详解
2019/11/02 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
PHP如何与mysql建立链接
2013/05/05 面试题
Why we need EJB
2016/10/20 面试题
中学运动会广播稿
2014/01/19 职场文书
《花木兰》教学反思
2014/04/09 职场文书
五心教育心得体会
2014/09/04 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
昆虫记读书笔记
2015/06/26 职场文书
教师远程研修感悟
2015/11/18 职场文书
利用Python实现模拟登录知乎
2022/05/25 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers