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实现鼠标单击与双击事件共存
Mar 08 Javascript
查找页面中所有类为test的结点的方法
Mar 28 Javascript
JS实现闪动的title消息提醒效果
Jun 20 Javascript
原生JavaScript+LESS实现瀑布流
Dec 12 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
Apr 24 Javascript
如何检测JavaScript的各种类型
Jul 30 Javascript
JavaScript实战(原生range和自定义特效)简单实例
Aug 21 Javascript
js通过classname来获取元素的方法
Nov 24 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
在vue中使用css modules替代scroped的方法
Mar 10 Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
python实现redis三种cas事务操作
2017/12/19 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python 字典中的所有方法及用法
2020/06/10 Python
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
盛大笔试题
2016/11/05 面试题
教育专业个人求职信
2013/12/02 职场文书
运动会邀请函范文
2014/02/06 职场文书
小学优秀教师材料
2014/12/15 职场文书
本溪水洞导游词
2015/02/11 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS