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 相关文章推荐
javascript 全等号运算符使用说明
May 31 Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
js实现图片放大展示效果
Aug 30 Javascript
详解webpack多页面配置记录
Jan 22 Javascript
Node.js 使用axios读写influxDB的方法示例
Oct 26 Javascript
js canvas实现写字动画效果
Nov 30 Javascript
原生javascript实现连连看游戏
Jan 03 Javascript
vue v-on:click传递动态参数的步骤
Sep 11 Javascript
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
React四级菜单的实现
Apr 08 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
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php防止sql注入简单分析
2015/03/18 PHP
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python有证书的加密解密实现方法
2014/11/19 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
python数据抓取3种方法总结
2021/02/07 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
新大陆软件面试题
2016/11/24 面试题
高三自我鉴定
2013/10/23 职场文书
大一新生学期自我评价
2014/04/09 职场文书
模具专业自荐信
2014/05/29 职场文书
司考复习计划
2015/01/19 职场文书
湘江北去观后感
2015/06/15 职场文书