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 相关文章推荐
IE DOM实现存在的部分问题及解决方法
Jul 25 Javascript
jQuery 扩展对input的一些操作方法
Oct 30 Javascript
jQuery Selector选择器小结
May 06 Javascript
javascript禁制后退键(Backspace)实例代码
Nov 15 Javascript
Java/JS获取flash高宽的具体方法
Dec 27 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
JavaScript学习小结(7)之JS RegExp
Nov 29 Javascript
4种JavaScript实现简单tab选项卡切换的方法
Jan 06 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
May 18 Javascript
原生js更改css样式的两种方式
Mar 15 Javascript
关于axios返回空对象的问题解决
Apr 04 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP 程序员应该使用的10个组件
2009/10/31 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
一起来写段JS drag拖动代码
2010/12/09 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
python3中编码获取网页的实例方法
2020/11/16 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
DataReader和DataSet的异同
2014/12/31 面试题
党员入党表决心的话
2014/03/11 职场文书
红色故事汇观后感
2015/06/18 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
TypeScript 内置高级类型编程示例
2022/09/23 Javascript