详解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与ExtJS之选择实例分析
Aug 19 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
js判断元素是否隐藏的方法
Jun 09 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
快速使用Bootstrap搭建传送带
May 06 Javascript
JavaScript中for循环的几种写法与效率总结
Feb 03 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
Dec 26 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
js this 绑定机制深入详解
Apr 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
jquery cookie插件代码类
2009/05/26 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
人事主管的岗位职责
2013/11/16 职场文书
工作交流会欢迎词
2014/01/12 职场文书
公司活动邀请函
2014/01/24 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
员工试用期自我评价
2014/09/18 职场文书
计划生育诚信协议书
2014/11/02 职场文书
余世维讲座观后感
2015/06/11 职场文书
校运会加油稿大全
2015/07/22 职场文书