详解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 相关文章推荐
解决checkbox的attr(checked)一直为undefined问题
Jun 16 Javascript
javascript 动态修改css样式方法汇总(四种方法)
Aug 27 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
Vue.js bootstrap前端实现分页和排序
Mar 10 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
vue实现的下拉框功能示例
Jan 29 Javascript
node.js事件轮询机制原理知识点
Dec 22 Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 Javascript
js实现简单进度条效果
Mar 25 Javascript
在Uni中使用Vue的EventBus总线机制操作
Jul 31 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
global.php
2006/12/09 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php实现的农历算法实例
2015/08/11 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
详细讲解vue2+vuex+axios
2017/05/27 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
python中的yield使用方法
2014/02/11 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
python实现简单中文词频统计示例
2017/11/08 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
小学校本培训方案
2014/06/06 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
Python3.10的一些新特性原理分析
2021/09/15 Python