使用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 相关文章推荐
checkbox 复选框不能为空
Jul 11 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 Javascript
简单谈谈node.js 版本控制 nvm和 n
Oct 15 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
Aug 04 Javascript
bootstrap监听滚动实现头部跟随滚动
Nov 08 Javascript
jquery广告无缝轮播实例
Jan 05 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
Dec 27 Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 Javascript
vue内置指令详解
Apr 03 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
uploadify插件实现多个图片上传并预览
Sep 30 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
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
javascript读取xml
2006/11/04 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
2015/08/18 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
物业保安员岗位职责
2014/03/14 职场文书
家长通知书教师评语
2014/04/17 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
西岭雪山导游词
2015/02/06 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
夫妻吵架保证书
2015/05/08 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js
muduo TcpServer模块源码分析
2022/04/26 Redis