详解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 相关文章推荐
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
让IE6支持min-width和max-width的方法
Jun 25 Javascript
使用jquery prev()方法找到同级的前一个元素
Jul 11 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
Vue-路由导航菜单栏的高亮设置方法
Mar 17 Javascript
JS实现遍历不规则多维数组的方法
Mar 21 Javascript
详解VueJs中的V-bind指令
May 03 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
JavaScript 防盗链的原理以及破解方法
Dec 29 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
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
python字符类型的一些方法小结
2016/05/16 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
pytorch forward两个参数实例
2020/01/17 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
Django数据统计功能count()的使用
2020/11/30 Python
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
三年级音乐教学反思
2014/01/28 职场文书
总经理司机职责
2014/02/02 职场文书
安全宣传标语
2014/06/10 职场文书
2014年内勤工作总结
2014/11/24 职场文书
先进集体申报材料
2014/12/25 职场文书
老兵退伍感言
2015/08/03 职场文书
卖车协议书范文
2016/03/23 职场文书
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
Redis实现一个账号只能登录一个设备
2022/04/19 Redis