详解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 相关文章推荐
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
Mar 14 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
微信公众号 摇一摇周边功能开发
Dec 08 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
纯原生js实现贪吃蛇游戏
Apr 16 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
vue实现nav导航栏的方法
Dec 13 Javascript
如何制作一个Node命令行图像识别工具
Dec 12 Javascript
vue实现简单图片上传
Jun 30 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
用PHP+MySql编写聊天室
2006/10/09 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
js初始化验证实例详解
2016/11/26 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现绘制树枝简单示例
2014/07/24 Python
详解Django中Request对象的相关用法
2015/07/17 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
24式加速你的Python(小结)
2019/06/13 Python
Python reversed函数及使用方法解析
2020/03/17 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
匡威德国官网:Converse德国
2019/01/26 全球购物
法定代表人资格证明书
2014/09/11 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python