Axios使用说明

vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法。

首先就是引入axios,如果你使用es6,只需要安装axios模块之后

import axios from ‘axios‘;//安装方法npm install axios//或bower install axios

当然也可以用script引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

axios提供了一下几种请求方式

axios.request(config)

axios.get(url[, config])

axios.delete(url[, config])

axios.head(url[, config])

axios.post(url[, data[, config]])

axios.put(url[, data[, config]])

axios.patch(url[, data[, config]])

这里的config是对一些基本信息的配置,比如请求头,baseURL,当然这里提供了一些比较方便配置项

//configimport Qs from ‘qs‘{
  //请求的接口,在请求的时候,如axios.get(url,config);这里的url会覆盖掉config中的url
  url: ‘/user‘,

  // 请求方法同上
  method: ‘get‘, // default
  // 基础url前缀
  baseURL: ‘https://some-domain.com/api/‘,      
  transformRequest: [function (data) {
    // 这里可以在发送请求之前对请求数据做处理,比如form-data格式化等,这里可以使用开头引入的Qs(这个模块在安装axios的时候就已经安装了,不需要另外安装)
  data = Qs.stringify({});
    return data;
  }],

  transformResponse: [function (data) {
    // 这里提前处理返回的数据

    return data;
  }],

  // 请求头信息
  headers: {‘X-Requested-With‘: ‘XMLHttpRequest‘},

  //parameter参数
  params: {
    ID: 12345
  },

  //post参数,使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象,否则会报错
  data: {
    firstName: ‘Fred‘
  },

  //设置超时时间
  timeout: 1000,
  //返回数据类型
  responseType: ‘json‘, // default

}

有了配置文件,我们就可以减少很多额外的处理代码也更优美,直接使用

axios.post(url,{},config)
    .then(function(res){
        console.log(res);
    })
    .catch(function(err){
        console.log(err);
    })//axios请求返回的也是一个promise,跟踪错误只需要在最后加一个catch就可以了。//下面是关于同时发起多个请求时的处理
axios.all([get1(), get2()])
  .then(axios.spread(function (res1, res2) {
    // 只有两个请求都完成才会成功,否则会被catch捕获
  }));

最后还是说一下配置项,上面讲的是额外配置,如果你不想另外写也可以直接配置全局

axios.defaults.baseURL = ‘https://api.example.com‘;
axios.defaults.headers.common[‘Authorization‘] = AUTH_TOKEN;
axios.defaults.headers.post[‘Content-Type‘] = ‘application/x-www-form-urlencoded‘;

//当然还可以这么配置
var instance = axios.create({
  baseURL: ‘https://api.example.com‘
});

本文只是介绍基本的用法,详细看官方文档https://github.com/axios

我写的两个例子:

使用vue2.0+mintUI+axios+vue-router:https://github.com/Stevenzwzhai/vue-mobile-application

使用vue2.0+elementUI+axios+vue-router:https://github.com/Stevenzwzhai/vue2.0-elementUI-axios-vueRouter,之前由于没做后端接口,所以运行没数据,现在加了mockjs来返回一些数据,以便于参考。

在这里例子中pwa文件简单配置了一些东西,可以用于pwa应用开发的参考,文章参考http://www.cnblogs.com/Upton/p/6894589.html

文章转自:https://www.cnblogs.com/Upton/p/6180512.html

时间: 2024-11-05 20:07:55

Axios使用说明的相关文章

(二)vue.js中axios的封装(参考)

基于前文所述,axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它有很多优秀的特性,例如拦截请求和响应.取消请求.转换json.客户端防御XSRF等. 如果还对axios不了解的,可以移步axios文档,axios使用说明. 安装 cnpm install axios --save 在项目src下新建request/http.js文件,并引入axios /** * axios封装:请求拦截,响应拦截,错误编码 */ import axios from 'ax

384 json-server, axios

使用接口的形式发送数据 一 .json-server 提供假数据接口 json-server 作用 : 根据指定的 JSON 文件, 提供假数据接口 地址 : json-server 使用步骤 1. 全局安装 json-server : `npm i -g json-server` 2. 准备一个json数据 3. 执行 : `json-server data.json` > json数据参考 json数据可以参考 : { "todos": [ { "id":

axios介绍与使用说明 axios中文文档

本周在做一个使用vuejs的前端项目,访问后端服务使用axios库,这里对照官方文档,简单记录下,也方便大家参考. Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中.github开源地址https://github.com/axios/axios 特性 在浏览器中创建 XMLHttpRequests 在 node.js 则创建 http 请求 支持 Promise API 支持拦截请求和响应 转换请求和响应数据 取消请求 自动转换 JSON 数据 客

Vuex + axios 发送请求

Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求 前言: Vuex 的安装将不再赘述,可以参考之前的博客 Vue 爬坑之路(四)-- 与 Vuex 的第一次接触 使用 cnpm 安装 axios cnpm install axios -S 安装其他插

axios参考手册

目录 搜索 使用说明   升级指南   生态系统 本文档使用 看云 构建 使用说明 ##Axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. Features 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF 浏览器支持             Latest ? Late

vue2.0 axios前后端数据处理

目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,而大型项目都会使用 Vuex 来管理数据. 前言: 使用 cnpm 安装 axios cnpm install axios -S 安装其他插件的时候,可以直接在 main.js 中引入并 Vue.use(),但是 axios 并不能 use,只能每个需要发送请求的组件中即时引入 为了解决这个问题,是在引入 axios 之后,修改原型链具体的实施请往下看~ 改写原型链 首先在 main.js 中引入 axios import a

axios案例

使用说明:参考 https://www.kancloud.cn/yunye/axios/234845 跨域解决:参考 https://blog.csdn.net/u012369271/article/details/72848102 使用心得:参考 https://mp.weixin.qq.com/s/Gnv2LVY8AHIBT7Z5Iq5RXg 以下是简单demo截图: 以下是:案例源码 <!DOCTYPE html><html> <head> <meta ch

Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信

Vue2.0与 [百度地图] 结合使用: 1.vue init webpack-simple vue-baidu-map 2.下载axios cnpm install axios; 3.在main.js中引入axios,并使用 import axios from 'axios' /* 把axios对象挂到Vue实例上面,其他组件在使用axios的时候直接 this.$http就可以了 */ Vue.prototype.$http = axios; 4.引入百度地图的js秘钥--->最好在inde

Linux系统下安装rz/sz命令及使用说明

对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们就简单的讲解一下如何安装和使用rz.sz命令. 1.软件安装 (1)编译安装 root 账号登陆后,依次执行以下命令: 1 cd /tmp 2 wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 3 tar zxvf lrzsz-0.1