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

发布时间 - 2026-01-11 02:58:10    点击率:

一、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实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# jsonp  # get  # post  # 数据交互  # 基于ajax和jsonp的原生封装(实例)  # 原生js的ajax和解决跨域的jsonp(实例讲解)  # 基于js原生和ajax的get和post方法以及jsonp的原生写法实例  # 全面解析Ajax和jsonp使用总结  # 使用原生js封装的ajax实例(兼容jsonp)  # 利用jsonp与代理服务器方案解决跨域问题  # Angular2 http jsonp的实例详解  # 用nodejs实现json和jsonp服务的方法  # 使用jquery的jsonp如何发起跨域请求及其原理详解  # 详解java 中Spring jsonp 跨域请求的实例  # Vue2.0 vue-source jsonp 跨域请求  # 原生js jquery ajax请求以及jsonp的调用方法  # 深入讲解xhr(XMLHttpRequest)/jsonp请求之abort  # AngularJS实现的JSONP跨域访问数据传输功能详解  # jsonp跨域请求详解  # 关于jQuery.ajax()的jsonp碰上post详解  # jQuery Jsonp跨域模拟搜索引擎  # 详细分析jsonp的原理和实现方式  # 弹出  # 值为  # 输入框  # 暂无  # 跳到  # 小编  # 按上  # 放在  # 第一个  # 在此  # 给大家  # 三种  # 按下  # 所述  # 绑定  # 给我留言  # 感谢大家  # 键值  # 清空  # 百度搜索 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 原生JS实现图片轮播切换效果  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  如何用花生壳三步快速搭建专属网站?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  WEB开发之注册页面验证码倒计时代码的实现  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何在云主机上快速搭建多站点网站?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  昵图网官网入口 昵图网素材平台官方入口  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Python3.6正式版新特性预览  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  php打包exe后无法访问网络共享_共享权限设置方法【教程】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  linux写shell需要注意的问题(必看)  Laravel API资源类怎么用_Laravel API Resource数据转换  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel如何与Pusher实现实时通信?(WebSocket示例)  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  北京网站制作的公司有哪些,北京白云观官方网站?  Android 常见的图片加载框架详细介绍  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Firefox Developer Edition开发者版本入口  Python文本处理实践_日志清洗解析【指导】  linux top下的 minerd 木马清除方法  nodejs redis 发布订阅机制封装实现方法及实例代码  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何在Tomcat中配置并部署网站项目?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  java中使用zxing批量生成二维码立牌  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  详解MySQL数据库的安装与密码配置  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  C#如何调用原生C++ COM对象详解  如何快速生成凡客建站的专业级图册?  如何用虚拟主机快速搭建网站?详细步骤解析  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何用已有域名快速搭建网站?