时间:2021-05-26
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:///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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了vue基础之使用get、post、jsonp实现交互功能。分享给大家供大家参考,具体如下:一、如果vue想做交互,引入:vue-resouce二、
本文实例讲述了Vue2.0实现组件之间数据交互和通信操作。分享给大家供大家参考,具体如下:Vue2.0组件之间数据交互和通信。Vue2.0废弃了dispatch
前言在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的。放大之,对vue的生命周期不
本文实例讲述了vue数据操作之点击事件实现num加减功能。分享给大家供大家参考,具体如下:Vuenum加减clickmeclickmeclickmeclickm
本文实例为大家分享了vue组件开发之slider组件的具体使用代码,供大家参考,具体内容如下代码如下:{{item.title}}exportdefault{n