vue axios数据请求get、post方法及实例详解


Posted in Javascript onSeptember 11, 2018

我们常用的有get方法以及post方法,下面简单的介绍一下这两种请求方法

vue中使用axios方法我们先安装axios这个方法

npm install --save axios

安装之后采用按需引入的方法,哪个页面需要请求数据就在哪个页面里引入一下。

import axios from 'axios'

引入之后我们就可以进行数据请求了,在methods中创建一个方法

methods:{
   getInfo(){
     let url = "url"
     axios.get(url).then((res)=>{
       console.log(res)
     })   
   } 
 }

然后我们在mounted这个生命周期中进行调用

mounted(){
   this.getInfo() 
 }

这样就可以在控制台中查看数据,以上是一个简单的get方法数据请求,下面继续介绍一下post方法的使用,其实post和get的使用没有什么区别只是再加上一个参数就可以了,看一下我们的代码

methods:{
   postInfo(){
     let url = "url"
     let params=new URLSearchParams();//这个方法在axios的官网中有介绍,除了这个方法还有qs这个方法
     params.append("key",index) 
     params.append("key",index)
     axios.post(url,params).then((res)=>{
       console.log(res)
     })
   }  
 }

同样在mounted这个生命周期中进行调用

mounted(){
   this.postInfo()
 }

补充:下面看下axios 数据请求

项目地址:https://github.com/axios/axios

axios是一个基于Promise,同时支持浏览器端和Node.js的HTTP库,常用于Ajax请求。

Vue.js 不像jQuery 或 AngularJS,本身并没有带Ajax方法,因此需要借助插件或第三方HTTP库。

GET和POST请求

axios.get("./package.json",{
     params:{
      userId:"999"
     },
     headers:{
      token:"jack"
     }
    }).then(res=>{
     this.msg = res.data;
    }).catch(function (error) {
     console.log("error init."+error)
    });

POST:

<code class="language-javascript"> axios.post("./package.json",{ 
     userId:"888" 
    },{ 
     headers:{ 
      token:"tom" 
     } 
    }).then(res=>{ 
     this.msg =res.data 
    }).catch(err=>{ 
      console.log(err) 
    })</code>

基于Promise 可以执行多个并发请求:1

function getUserAccount(){
    return axios.get('/user/123')
   }
   function getUserPermissions(){
    return axios.get('/user/12345/premissions')
   }
   axios.all([getUserAccount(),getUserPermissions()])
   .then(axios.spread(function(acct,perms){
     //请求都完时
   }))

也可通过写入配置的形式发起请求:

axios({
  method:'post',
  url:'/user/123',
  data:{
   firstName:'Fred',
   lastName:'Flintstone'
  }
  }).then(function(res){
  console.log(res)
  })

在业务中经常将其封装为实例形式调用,便于通用配置:

// util.js
const instance = axios.create({
 baseURL:"http://jsonplaceholder.typicode.com/",
 timeout:1000,
 headers:{"Content-Type":"application/x-www-form-urlencoded"}
})
export default instance;

在mounted中调用:

Ajax({
    method:'post',
    url:'/package.json',
    data:{
    firstName:'Fred',
    lastName:'flintone'
    }
   }).then(res=>{
     console.log(res.data)
     this.msg = res.data
   })

强求拦截可用于loading..

axios.interceptors.request.use(config=>{
    console.log("require init");
    return config
   })
    axios.interceptors.response.use(response=>{
    console.log("response init");
    return response
   })

总结

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

Javascript 相关文章推荐
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
js的window.showModalDialog及window.open用法实例分析
Jan 29 Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
自制微信公众号一键排版工具
Sep 22 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
vue2 router 动态传参,多个参数的实例
Nov 10 Javascript
Vue实现类似Spring官网图片滑动效果方法
Mar 01 Javascript
js监听html页面的上下滚动事件方法
Sep 11 #Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 #Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 #Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 #Javascript
vue+axios+element ui 实现全局loading加载示例
Sep 11 #Javascript
Webpack之tree-starking 解析
Sep 11 #Javascript
node.js之基础加密算法模块crypto详解
Sep 11 #Javascript
You might like
laravel框架与其他框架的详细对比
2019/10/23 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Python实现基于HTTP文件传输实例
2014/11/08 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
将python图片转为二进制文本的实例
2019/01/24 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
Python设计密码强度校验程序
2020/07/30 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
远程调用的原理
2014/07/05 面试题
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
青岛导游词
2015/02/12 职场文书
黑白记忆观后感
2015/06/18 职场文书
2016十一国庆节感言
2015/12/09 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
MySQL日期时间函数知识汇总
2022/03/17 MySQL
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers