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 相关文章推荐
JSON 客户端和服务器端的格式转换
Aug 27 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
详解JavaScript的变量和数据类型
Nov 27 Javascript
基于JS代码实现图片在页面中旋转效果
Jun 16 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
小程序接口的promise化的实现方法
Dec 11 Javascript
前端性能优化建议
Sep 17 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
php对称加密算法示例
2014/05/07 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
python中的set实现不重复的排序原理
2018/01/24 Python
pyqt5自定义信号实例解析
2018/01/31 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
医生进修自我鉴定
2014/01/19 职场文书
职工趣味运动会方案
2014/02/10 职场文书
应用数学专业求职信
2014/03/14 职场文书
房产公证书格式
2015/01/26 职场文书
公司费用报销管理制度
2015/08/04 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
php修改word的实例方法
2021/11/17 PHP
Golang 并发编程 SingleFlight模式
2022/04/26 Golang