详解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 判断字符串是否为数字的简单方法
Jul 25 Javascript
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
javascript 事件处理程序介绍
Jun 27 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
Feb 03 Javascript
jQuery控制Div拖拽效果完整实例分析
Apr 15 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
js接收并转化Java中的数组对象的方法
Aug 11 Javascript
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
Dec 06 Javascript
原生js轮播(仿慕课网)
Feb 15 Javascript
JavaScript判断数组类型的方法
Oct 23 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 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
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
分享php邮件管理器源码
2016/01/06 PHP
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
高中政治教学反思
2014/01/18 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
企业务虚会发言材料
2014/10/20 职场文书
见习报告怎么写
2014/10/31 职场文书
财务工作个人总结
2015/02/27 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
SQL Server表分区删除详情
2021/10/16 SQL Server
python画条形图的具体代码
2022/04/20 Python