Axios 是一个基于 promise 的HTTP 库, 可以用在浏览器和 node.js 中。

  1. 从浏览器创建 XMLHttpRequests
  2. 从node.js 创建 http 请求
  3. 支持Promise API
  4. 拦截请求和响应
  5. 转换请求数据 和 响应数据
  6. 取消请求
  7. 自动转换 JSON 数据
  8. 客户端支持防御 XSRF

<script type="text/javascript" src="node_modules/vue/dist/vue.js"></script>
<script type="text/javascript" src="node_modules/axios/dist/axios.js"></script>

使用前将 axios ,添加到 Vue的父类 对象中。 以保证 Vue对象下挂载的所有的组件, 都可以访问到 axios

Vue.prototype.$axios = axios;
// 给Vue的父类 prototype(原型) 挂载了一个 $axios, 这个$axios 执向的就是 axios
// 然后因为所有的组件 都是 挂载到 Vue中的。就可以通过 this.$axios 拿到 axios 这个对象。

为 axios 配置一些默认值:

axios.defaults.baseURL = 'http://127.0.0.1:8888';
// 配置公共的 url. 这样在进行url 的请求时。 就不用每次都去写,前面这些 协议 ip 端口,一类的信息。
// 他会自动的进行, 拼接,然后访问

axios 的 get 请求  

  // 为给定 ID 的user 创建请求      axios 实在promise 的基础上做的封装

axios.get('/user?ID=12345')
.then(function. (response){
console.log(response)
})
.catch(function, (error){
console.log(error)
})

对比 jquery 的代码,其实都是一个流程: jquery是基于es5的基础上 从http库中,做的封装

$.ajax({
url:"/user?ID=12345",
type:"GET",
success:function(response){
//成功返回的数据
},
error:fucntion(error_data){
//返回的错误
}
})

axios 的post请求 

sendAjaxByPost(){
// post 第二个参数是 要发送的数据, 这里可以提交任何的类型数据。 这要看后端要接受什么样的数据
// 如果想要发送一个对象到 后端, 需要使用 URLSearchParams() 对数据,进行处理。
var params = new URLSearchParams(); // 使用这个对象去处理
params.append('name',"alex111"); // 在Vue中使用es5的function 函数。 this的指向会指向到Window对象。
// 解决办法就是在进入这个函数之前, 讲this用另外的变量保存起来。 然后在函数内部使用这个变量,所代表的this
//var _this = this; // 把外层的this 赋值给 _this
//this.$axios.post('/create', params).then(function (res){_this.datas = res.data}).catch((error)=>{}); // 另一种方式就是,在vue中 如果要使用函数的话,尽量使用 => 箭头函数。 这样能保证this的执向,
// 一直都是指向当前的这个Vue 实例对象, 不会乱跑。
this.$axios.post('/create', params).then((res)=>{this.datas = res.data}).catch((error)=>{})
},

Axios 的基本使用的更多相关文章

  1. 为什么axios请求接口会发起两次请求

    之前在使用axios发现每次调用接口都会有两个请求,第一个请求时option请求,而且看不到请求参数,当时也没注意,只当做是做了一次预请求,判断接口是否通畅,但是最近发现并不是那么回事. 首先我们知道 ...

  2. axios基本用法

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法. 首先就是引入axios,如果你使用es6,只需要安装axios ...

  3. Axios、Lodash、TweenJS

    Axios是一个基于promise的HTTP库 http://chuansong.me/n/394228451820 Lodash是一个JavaScript的函数工具集 http://www.css8 ...

  4. axios全攻略

    随着 vuejs 作者尤雨溪发布消息,不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解.本来想在网上找找详细攻略,突然发现,axios 的官方文 ...

  5. 抛弃vue-resource拥抱axios

    vue-resource用法 import Vue from 'vue' import VueResource from 'vue-resource' Vue.use(VueResource) 是不是 ...

  6. Vue+axios 实现http拦截及路由拦截

    现如今,每个前端对于Vue都不会陌生,Vue框架是如今最流行的前端框架之一,其势头直追react.最近我用vue做了一个项目,下面便是我从中取得的一点收获. 基于现在用vue+webpack搭建项目的 ...

  7. vue使用Axios做ajax请求

    vue2.0之后,就不再对vue-resource更新,而是推荐使用axios 1. 安装 axios $ npm install axios 或 $ bower install axios 2. 在 ...

  8. vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)

    Vue有多优秀搭配全家桶做项目有多好之类的咱就不谈了,直奔主题. 一.Vue 系列一已经用vue-cli搭建了Vue项目,此处就不赘述了. 二.Vue-router Vue的路由,先献上文档(http ...

  9. 9.如何解决出现AXIOS的Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

    问题描述: 由于restful接口需要在头部header传递两个字段: Content-Type: application/jsonAccess-Token: 84c6635800b14e0eba4f ...

  10. vue2.0设置proxyTable使用axios进行跨域请求

    这里请求的是知乎日报的api,由@izzyleung这位大神提供的,这是github地址. 在vue-cli构建的项目中先安装axios npm install axios -S 这里暂不考虑用vue ...

随机推荐

  1. js callback回调的一种写法

    getLocation.cityname(latitude, longitude, function (data1) { SetCityCallBack(data1); }); 定义方法: var g ...

  2. DOM 修改与DOM元素

    ㈠HTML DOM - 修改 修改 HTML = 改变元素.属性.样式和事件.   ①创建 HTML 内容 改变元素内容的最简单的方法是使用 innerHTML 属性. 下面的例子改变一个 <p ...

  3. 计算机网络(三),TCP报文段详解

    目录 1.TCP(Transmission Control Protocol传输控制协议)作用 2.TCP报文段详解 三.TCP报文段详解 1.TCP(Transmission Control Pro ...

  4. POJ 3422 矩阵取数 最小费用流拆点+负边

    Kaka's Matrix Travels Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9153   Accepted:  ...

  5. [笔记]MongoDB 二(Linux下MongoDB API C++编程)

    一.连接类 DBClientConnection,派生自DBClientBase.DBClientBase类是实现query, update, insert, remove等功能. 构造函数:DBCl ...

  6. php的intval函数

    PHP intval() 函数 PHP 可用的函数PHP 可用的函数 intval() 函数用于获取变量的整数值. intval() 函数通过使用指定的进制 . PHP , PHP , PHP 语法 ...

  7. TensorFlow常用操作

    初始化数据: # -*- coding: utf-8 -*- import tensorflow as tf a = tf.zeros([3, 4], tf.int32) # [[0 0 0 0] # ...

  8. 数组 Kotlin(5)

    数组 数组在 Kotlin 中使用 Array 类来表示,它定义了 get 和 set 函数(按照运算符重载约定这会转变为 [] ) 和 size 属性,以及一些其他有用的成员函数:基本类型 clas ...

  9. Kotlin 的函数定义和使用 (译文 转)

    Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = d ...

  10. java JIT

    JVM 即时编译器即时编译器 (Just In Time Compiler) 简称JIT JAVA程序最初是通过解释器 (Interpreter) 进行解释执行的,当 JVM 发现某个方法或代码块运行 ...