Axios

github文档:axios github

该模块兼容浏览器端和node.js后端发送http请求。


本文主要简单介绍了请求的发送和响应callback的注册。也就是axios发送ajax请求的使用方式,至于具体的请求内容和响应内容对象属性定义;以及全局配置;拦截器功能,请移驾到axios github文档,已经很简介明了了。

博文图片挂了临时解决办法

特征

  • Axios 支持在浏览器端使用XMLHttpRequest发送http请求;
  • 在node.js后端可以发送http请求;
  • 支持拦截请求和响应
  • 支持转换请求负载数据和响应数据
  • 支持取消请求
  • 支持自动转换为JSON 数据
  • 客户端支持防护抵御XSRF 跨站请求伪造。

axios提供主要三种发起请求的方式

以下config相当于是请求的内容封装对象

方式一:直接axios实例直接call方式

import Axios from 'axios'

const config = {
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
} Axios(config) // 发送一个post请求 // 或者 Axios(url[,config]) 只提供url参数默认发送一个get请求到url const config02 = {
method: 'get'
} Axios('/users/', config02) // 发送一个get请求到'/users/'

方式二:通过axios实例提供的不同http请求方式的方法

即axios实例提供了方法对了同方法名的http请求方式,不用再config参数中指定 method方法,而且将目的url和负载data都从config中剥离出来。

import Axios from 'axios'

Axios.get(url[,config])

Axios.post(url[,config])

方式三:其实是从第二种方式中单独提出来的

Axios.request(config)

为什么单独提出来,因为request的参数提供都是config object,而且没指定http请求的方式,类似第一种方式。

推荐使用第二种方式

响应模式

既然是ajax请求,那么对于请求的处理模式的定义其实是回调函数的定义,只不过对于响应内容封装再一个响应对象中,回调函数调用时将得到响应对象作为参数再回调中使用。

给axios对象设置回调函数

通过对象的then() api进行设置回调


import Axios from 'axios' Axios.get(url, config).then(succc_callback, fail_callback) // 对于失败的callback也可以通过.catch()方式添加,fail_callback的参数则是一个error对象,该对象的response属性则是响应对象了。

总结

  1. 对于axios这里主要简单介绍发送请求和响应处理的使用。
  2. axios可以直接通过三种api方式直接发送请求,也可以通过先通过create构造出对象,再利用对象使用api再发送请求。
  3. axios的node.js后端的使用参考github文档。
  4. 至于get请求和post请求,get请求使用params属性,post请求使用data属性,post发送的content-type默认时‘application/json’。

Axios发送AJAX请求的更多相关文章

  1. Vue中使用axios发送ajax请求

    作为前后端交互的重要技巧--发送ajax请求,在Vue中我们使用axio来完成这一需求: 首先是下载axios的依赖, npm install --save axios vue-axios 然后在ma ...

  2. 使用axios发送ajax请求

    1.安装 npm install axios 2.在Home.vue中引入 import axios from 'axios' export default {   name: 'Home',   c ...

  3. Vue(七)发送Ajax请求

    发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue ...

  4. vue 发送ajax请求

    一. 简介 1.vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本).axios(vue2.0版本)等插件实现 2.axios是一个基于Promise的HTTP请求客 ...

  5. Vuejs发送Ajax请求

    一.概况 ①vuejs中没有内置任何ajax请求方法 ②在vue1.0版本,使用的插件 vue resource 来发送请求,支持promise ③在vue2.0版本,使用社区的一个第三方库 axio ...

  6. Ajax_axios发送ajax请求

    Ajax_axios发送ajax请求 这篇笔记主要讲一下axios基本的发送ajax请求的方法 axios在当前的前端行业里面是用的比较热门的一个 下面给大家分享一下它axios的一个基本用法 这段代 ...

  7. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...

  8. 原生js发送ajax请求

    堕落了一阵子了,今天打开博客,发现连登录的用户名和密码都不记得了.2016年已过半,不能再这么晃荡下去了. 参加了网易微专业-前端攻城狮 培训,目前进行到大作业开发阶段,感觉举步维艰.但是无论如何,不 ...

  9. jQuery发送ajax请求

    利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...

随机推荐

  1. Java批量压缩下载

    最近做了一些有关批量压缩下载的功能,网上也找了一些资源,但都不是太全面,所以自己整理一份,已备不时之需. 直接上代码: // 获取项目路径 private static String WEBCLASS ...

  2. 闲聊 “今日头条Go建千亿级微服务的实践”

      背景    今天跟同事偶然看到<今日头条Go建千亿级微服务的实践>文章,故做了一些探讨,与大家分享下,也欢迎大家多多共同探讨!.     其他资料:   如何理解 Golang 中“不 ...

  3. laravel5.5 延时队列的使用

    队列这个知识相对比较冷门,因为平时的CURD基本用不到这个知识,今天用到了,所以就写个博客记录一下吧. 首先你得清楚要用什么驱动,除了database队列驱动(选择database驱动要php art ...

  4. Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)

    一.Bean的Scope Scope描述的是Spring容器如何新建Bean实例的.Spring的Scope有以下几种,通过@Scope注解来实现. (1)Singleton:一个Spring容器中只 ...

  5. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档:http://selenium.googlecode.com/git/docs/api/py/index.html目录一.selenium+python 环境搭建........ ...

  6. Java 8 基础API的一些小的该进

    Java8是一个较大改变的版本,包含了API和库方面的修正,它还对我们常用的API进行很多微小的调整, 下面我会带你了解字符串.集合.注解等新方法. 字符串 经常会遇到这样一种情况, 需要将一组字符串 ...

  7. Bash特殊变量:$0, $#, $*, $@, $?, $$实战

    在linux下配置shell参数说明 前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid ...

  8. webstorm-快捷键大全

    Webstorm快捷键 Eclipse快捷键 说明 ctrl+shift+N ctrl+shift+R 通过文件名快速查找工程内的文件(必记) ctrl+shift+alt+N ctrl+shift+ ...

  9. BigDecimal 专题

    //****BigDecimal中传入的double类型的数据,要为String类型,不然得到在BigDecimal仍然是不准确的double数据**** // BigDecimal addend = ...

  10. linux 安装 PHP fileinfo 扩展

    将windows解压Linux服务器 1.错误: PHP Fileinfo extension must be installed/enabled to use Intervention Image. ...