详解axios 全攻略之基本介绍与使用(GET 与 POST)


Posted in Javascript onSeptember 15, 2017

axios

axios 是一个基于 Promise 的 HTTP 客户端,专门为浏览器和 node.js 服务

Vue 2.0 官方推荐使用 axios 来代替原来的 Vue request,所以这里介绍一下 axios 的功能和基本的使用方法,希望能够对各位所有帮助。^_^

功能

  • 在浏览器中发送 XMLHttpRequests 请求
  • 在 node.js 中发送 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换 JSON 数据格式
  • 客户端支持防范 XSRF 攻击

浏览器支持

axios 能够支持 IE7 以上的 IE 版本,同时能够支持大部分主流的浏览器,需要注意的是,你的浏览器需要支持 Promise,才能够使用 axios。所以比较好的做法是先安装 polyfill,然后再使用 axios。

安装

Using npm:

$ npm install axios

Using bower:

$ bower install axios

Using cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

使用

这里以 Vue 为例:在 NPM 中安装 axios 之后,需要在 main.js 文件中引用 package

import axios from 'axios'

然后全局绑定

Vue.prototype.$http = axios

然后可以在 .vue 文件中使用 $http 来代替 axios

GET

// Make a request for a user with a given ID 
axios.get('/user?ID=12345')
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });

// Optionally the request above could also be done as 
axios.get('/user', {
  params: {
   ID: 12345
  }
 })
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });

POST

axios.post('/user', {
  firstName: 'Fred',
  lastName: 'Flintstone'
 })
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });

同时发送多个请求

function getUserAccount() {
 return axios.get('/user/12345');
}

function getUserPermissions() {
 return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
 .then(axios.spread(function (acct, perms) {
  // Both requests are now complete 
 }));

当然,axios 的功能还包括 axios API、interceptor 等等,这里想要详细了解的可以查看官方文档:axios,后面陆续会介绍下 interceptor 的使用和各类参数的配置。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
JavaScript定义类的几种方式总结
Jan 06 Javascript
jQuery标签替换函数replaceWith()的使用例子
Aug 28 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
Nov 02 Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 Javascript
Angular 数据请求的实现方法
May 07 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
Sep 14 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
js实现日历
Nov 07 Javascript
JavaScript 绘制饼图的示例
Feb 19 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 #Javascript
vue实现登陆登出的实现示例
Sep 15 #Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
Sep 15 #Javascript
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 #jQuery
Vue-router 类似Vuex实现组件化开发的示例
Sep 15 #Javascript
vue用addRoutes实现动态路由的示例
Sep 15 #Javascript
Vue渲染函数详解
Sep 15 #Javascript
You might like
example2.php
2006/10/09 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
nohup的用法
2012/11/26 面试题
学期自我鉴定范文
2013/10/01 职场文书
酒店管理专业毕业生推荐信
2013/11/10 职场文书
求职信需要的五点内容
2014/02/01 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2014年团委工作总结
2014/11/13 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
2015年司法局工作总结
2015/05/22 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
vue3获取当前路由地址
2022/02/18 Vue.js