详解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 相关文章推荐
wordpress之js库集合研究介绍
Aug 17 Javascript
js点击更换背景颜色或图片的实例代码
Jun 25 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
使用jQuery重置(reset)表单的方法
May 05 Javascript
JavaScript中使用document.write向页面输出内容实例
Oct 16 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
flexslider.js实现移动端轮播
Feb 05 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
Angular2 http jsonp的实例详解
Aug 31 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 Javascript
js实现图片上传到服务器和回显
Jan 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
杏林同学录(六)
2006/10/09 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
node中的session的具体使用
2018/09/14 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
Python实现去除代码前行号的方法
2015/03/10 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
tornado+celery的简单使用详解
2019/12/21 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
投标邀请书范文
2014/01/31 职场文书
物流专员岗位职责
2014/02/17 职场文书
绿化工程实施方案
2014/03/17 职场文书
银行求职信
2014/05/31 职场文书
2014年国庆节寄语
2014/09/19 职场文书
五年级下册复习计划
2015/01/19 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS