get  post jsonp三种数据交互形式实例详解


Posted in Javascript onAugust 25, 2017

一、get请求

1.引入 vue.js 和 vue-resource.js , 准备一个按钮

<input type="button" value="按钮" @click="get()"/>  //点击按钮请求数据函数get()

2.准备一个txt文件

welcome vue

3.编写js代码

<script>
 window.onload=function(){
  new Vue({
  el:'body',      //主体为body,有套div时,此处为选择器
  methods:{
   get:function(){
   this.$http.get('a.txt').then(function(res){
    alert(res.data)

 //成功后,弹出请求数据
   },function(res){         
    alert(res.status)


//失败后,弹出请求状态码
   })
   }
  }
  })
 }
 </script>

二、post请求

1.引入 vue.js 和 vue-resource.js , 准备一个按钮

<input type="button" value="按钮" @click="get()"/>

2.准备一个php文件

<?php
 $a=$_POST['a'];
 $b=$_POST['b'];
 echo $a-$b;



//回显数据相减结果
?>

3.编写js代码

<script>
 window.onload=function(){
  new Vue({
  el:'body',
  methods:{
   get:function(){
   this.$http.post('post.php',{  //发送实参数据,进行运算(需要放在服务器环境)
    a:1,
    b:2
   },{
    emulateJSON:true    //post的标识
   }).then(function(res){
    alert(res.data)



//成功后弹出数据结果
   },function(res){


    alert(res.status)



 //失败后弹出状态码
   })
   }
  }
  })
 }
 </script>

三、jsonp——百度下拉列表实例

1.引入 vue.js 和 vue-resource.js , 准备基础样式代码

<style>
 .gray{
  background: #ccc;    //按上下键时显示的文字背景颜色
 }
 </style>
<div id="box">
 <input type="text" v-model="t1" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up.prevent="changeUp()"/>



//按键传键值 get($event) 函数 //按向下键时 changeDown() 函数 //按向上键时 changeUp() 函数:阻止默认行为输入浮上移
 <ul>
  <li v-for="value in myData" :class="{gray:$index==now}">{{value}}</li>




//循环myData数据 绑定样式同时添加条件,下标值此时为几时,背景为灰
 </ul>
 <p v-show="myData.length==0">暂无数据...</p> //当数据长度为0时,显示暂无数据...
 </div>

  2、编写js代码

<script>
 window.onload=function(){
  new Vue({
  el:'#box',
  data:{
   myData:[],
   t1:'',
   now:-1
  },
  methods:{
   get:function(ev){        

 //接收事件
   if(ev.keyCode==38||ev.keyCode==40)return;




//如果事件为向上向下则return不请求数据
   if(ev.keyCode==13){







 


 //如果事件为回车
    window.open('https://www.baidu.com/s?wd='+this.t1); //则打开百度对应t1值页面
    this.t1=''; 











 //清空输入框
   }
   this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
    wd:this.t1 












//截取的搜索接口,发送数据为输入框此时输入的数据
   },{
    jsonp:'cb' 











 //callback名字,默认为'callback'
   }).then(function(res){
    this.myData=res.data.s









//将数据的s值赋给 myData
   },function(res){
    alert(res.status)
   })
   },
   changeDown:function(){ 










//按下键时的函数
   this.now++;













//now下标值++
   if(this.now==this.myData.length)this.now=-1;



//如果下标值为数据长度,即最后一个时,为-1,跳到第一个
   this.t1=this.myData[this.now]







 //输入框值为此时数据中选中的值
   },
   changeUp:function(){ 










 //按上键时的函数
   this.now--;













//now下标值--
   if(this.now==-2)this.now=this.myData.length-1


 //如果下标值为-2,此时now=总长度-1,跳到最后一个
   this.t1=this.myData[this.now]







 //输入框值为此时数据中选中的值 
   }
  }
  })
 }
 </script>

  3、类似百度搜索了。。。

总结

以上所述是小编给大家介绍的三种数据交互形式get  post jsonp实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery改变tr背景色的示例代码
Dec 28 Javascript
JavaScript中自定义事件用法分析
Dec 23 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
JavaScript的设计模式经典之建造者模式
Feb 24 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
Jun 06 Javascript
AngularJS 应用身份认证的技巧总结
Nov 07 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
Feb 18 Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
Aug 25 #Javascript
浅谈JS获取元素的N种方法及其动静态讨论
Aug 25 #Javascript
AngularJS select设置默认值的实现方法
Aug 25 #Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 #Javascript
node跨域请求方法小结
Aug 25 #Javascript
AngularJS中filter的使用实例详解
Aug 25 #Javascript
微信小程序实现表单校验功能
Mar 30 #Javascript
You might like
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
php实现文件编码批量转换
2014/03/10 PHP
php字符串分割函数用法实例
2015/03/17 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
javascript 定义新对象方法
2010/02/20 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 初始化多维数组代码
2008/09/06 Python
python入门教程之识别验证码
2017/03/04 Python
Python编程之string相关操作实例详解
2017/07/22 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
pandas多级分组实现排序的方法
2018/04/20 Python
python http基本验证方法
2018/12/26 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
UDP协议功能
2013/01/06 面试题
性能测试工程师的面试题
2015/02/20 面试题
如何清空Session
2015/02/23 面试题
关于安全的演讲稿
2014/05/09 职场文书
文艺晚会开场白
2015/05/29 职场文书
Python  lambda匿名函数和三元运算符
2022/04/19 Python