详解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 获取和设置Select选项的代码
Feb 07 Javascript
js实现图片轮换效果代码
Apr 16 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
Mar 20 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
Mar 09 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
vue router 配置路由的方法
Jul 26 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
原生js实现简单轮播图
Oct 26 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
JS实现随机数生成算法示例代码
2013/08/08 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
es6函数之尾递归用法实例分析
2020/04/25 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python中while和for的区别总结
2019/06/28 Python
对Python中画图时候的线类型详解
2019/07/07 Python
python列表推导式入门学习解析
2019/12/02 Python
通俗讲解python 装饰器
2020/09/07 Python
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
成人大专自我鉴定范文
2013/10/19 职场文书
高分子材料与工程专业推荐信
2013/12/01 职场文书
财务方面个人工作的自我评价
2013/12/28 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
开学季活动策划方案
2014/02/28 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
预备党员党支部意见
2015/06/02 职场文书
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技