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拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
Jquery中使用setInterval和setTimeout的方法
Apr 08 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
easyui datagrid 键盘上下控制选中行示例
Mar 31 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
Apr 07 Javascript
对称加密与非对称加密优缺点详解
Feb 06 Javascript
javascript 玩转Date对象(实例讲解)
Jul 11 Javascript
React 使用browserHistory项目访问404问题解决
Jun 01 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
Aug 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
PHP防注入安全代码
2008/04/09 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
php两种无限分类方法实例
2015/04/21 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
总结js函数相关知识点
2018/02/27 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
Python程序设计入门(1)基本语法简介
2014/06/13 Python
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
numba提升python运行速度的实例方法
2021/01/25 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
中国好声音华少广告词
2014/03/17 职场文书
市场调查策划方案
2014/06/10 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
计划生育工作总结2015
2015/04/03 职场文书
汉字听写大会观后感
2015/06/12 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书
创业计划书之服装
2019/10/07 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python