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 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
Javascript控制input输入时间格式的方法
Jan 28 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
node网页分段渲染详解
Sep 05 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
Sep 18 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
总结js函数相关知识点
Feb 27 Javascript
详解JavaScript 的变量
Mar 08 Javascript
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
Node.js设置定时任务之node-schedule模块的使用详解
Apr 28 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网络操作函数汇总
2015/05/18 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
对pytorch网络层结构的数组化详解
2018/12/08 Python
在Django中实现添加user到group并查看
2019/11/18 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
师范生自我鉴定范文
2013/10/05 职场文书
自我评价如何写好?
2014/01/05 职场文书
护士自我评价
2014/02/01 职场文书
重温入党誓词主持词
2015/06/29 职场文书
创业计划书之书店
2019/09/10 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
MongoDB 常用的crud操作语句
2021/06/20 MongoDB