vue之数据交互实例代码
2017-06-16 09:20
811 查看
vue中的交互(ajax,jsonp)
vue中也存在像ajax和jsonp的数据交互,实现向服务器获取数据,但是他本身框架当中没有这样的方法,需要一个新的小东西叫vue-resouce.js 地址:https://github.com/pagekit/vue-resource/blob/master/README.md
<meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="vue.js"></script> <script type="text/javascript" src="vue-resource.js"></script> <style type="text/css"> </style> </head> <body> <div id="app"> <button @click="get()">按钮</button> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ }, methods:{ get:function(){ this.$http.get('a.txt').then(function(res){ alert(res.data); },function(res){ alert(res.data); }); } } }); </script> </body>
$http 就类似于ajax 他可以this.$http.get this.$http.post还有一种就是jsonp完成跨域取数据
<div id="app"> <button @click="get()">按钮</button> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ }, methods:{ get:function(){ this.$http.jsonp('https://sug.so.360.cn/suggest'{word:'b'}).then(function(res){ alert(res.data.s); },function(res){ alert(res.status); }); } } }); </script> </body>
跨域取数据百度下拉例子:
<meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="vue.js"></script> <script type="text/javascript" src="vue-resource.js"></script> <style type="text/css"> *{ margin:0; padding: 0;} .bg{width: 200px; line-height:30px;} </style> </head> <body> <div id="app"> <input type="text" v-model="t" @keyup="get($event)" @keydown.down="changeDown()" @keyup.up.prevent="changeUp()"/> <ul> <li v-for="val in arr" class="bg"> {{val}} </li> </ul> <p v-show="arr.length==0">暂无数据</p> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ arr:[], t:'', iNow:-1 }, methods:{ get:function(ev){ if(ev.keyCode==38||ev.keyCode==40){ return; } if(ev.keyCode==13){ window.open('https://www.baidu.com/s?wd='+this.t); this.t='' } this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{wd:this.t},{jsonp:'cb'}).then(function(res){ this.arr=res.data.s },function(res){ alert('失败'); }); }, changeDown:function(){ this.iNow++; if(this.iNow==this.arr.length)iNow=-1; this.t=this.arr[this.iNow]; }, changeUp:function(){ this.iNow--; if(this.iNow==-2)this.iNow=this.arr.length-1 this.t=this.arr[this.iNow]; } } }); </script> </body>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- vue之数据交互实例代码
- vue+ElementUI实现订单页动态添加产品数据效果实例代码
- PHP JSON格式数据交互实例代码详解_php技巧_脚本之家
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)
- vue组件表单数据回显验证及提交的实例代码
- PHP JSON格式数据交互实例代码详解
- PHP JSON格式数据交互实例代码详解
- 使用vue-resource进行数据交互的实例
- vue中for循环更改数据的实例代码(数据变化但页面数据未变)
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一)
- (起步2)VUE中数据交互实例
- vue中子组件向父组件传递数据的实例代码(实现加减功能)
- vue 请求后台数据的实例代码
- vue利用axios来完成数据的交互实例及安装方法
- vue.js与后台数据交互的实例讲解
- Django中使用jquery的ajax进行数据交互的实例代码
- Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
- vue2.5.2使用http请求获取静态json数据的实例代码
- vue.js获取数据库数据实例代码
- vue.js前后端数据交互之提交数据操作详解