一转眼Vue 3.0都要发布了,学习使用Vue也有一段时间了,记录一下axios的用法

Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中,有点类似于ajax,但是在MVVM模式中,使用axios是有好处的

1.从浏览器中创建 XMLHttpRequest

2.支持 Promise API

3.客户端支持防止CSRF

4.提供了一些并发请求的接口(重要,方便了很多的操作)

5.从 node.js 创建 http 请求

6.拦截请求和响应

7.转换请求和响应数据

8.取消请求

9.自动转换JSON数据

ajax相对axios的缺点有

1.本身是针对MVC的编程,不符合现在前端MVVM的浪潮

2.基于原生的XHR开发,XHR本身的架构不清晰。

3.JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务)

4.不符合关注分离(Separation of Concerns)的原则

5.配置和调用方式非常混乱,而且基于事件的异步模型不友好。

当然ajax也是有优点的

1.异步请求,不妨碍用户浏览页面或者其他操作。

2.局部刷新,无需重新刷新页面。

3.界面与应用分离。有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。

4.基于标准被广泛支持。

5.前端和后端负载平衡。最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。

一、axios获取数据的例子

axios.get("/static/data").then(function(res) {
var data = res.data.data.list;
for (var i = 0; i < data.length; i++) {
if (data[i].id == id) {
_this.o1.push(data[i]);
}
}
});

二、axios通过get方式返回值

1.通过url返回参数

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

2.通过params传递参数

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

三、axios通过post方式返回值

axios.post('/user', {
firstName: 'Fred', // 参数 firstName
lastName: 'Flintstone' // 参数 lastName
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});

Axios的简单用法的更多相关文章

  1. vue2.0 Axios 的简单用法

    安装 使用 npm: $ npm install axios 使用 bower: $ bower install axios 使用 cdn: <script src="https:// ...

  2. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  3. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  4. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  5. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  6. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  7. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  8. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  9. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

随机推荐

  1. OpenResty: PHP增加数据库插件

    首先修改下php.ini 文件  告诉php当前的扩展库路径   扩展库--就是扩展的其它功能的库 这个就是扩展库文件夹,里面有很多功能性文件 就是增加这一句  extension_dir = &qu ...

  2. Django 1.11 bootstrap样式文件无法加载问题解决

    先吐槽一波,多看官方教程,多找对应版本解决方法,多思考!... 在调试模式下面,打开页面无法加载bootstrap.min.css样式,解决思路如下: 查看settings文件INSTALL_APP配 ...

  3. [PHP] Layui + jquery 实现 实用的文章自定义标签

    先看实现效果: html 代码如下: <!doctype html> <html> <head> <meta charset="utf-8" ...

  4. Test of String

    1.前言 这是我出的第一套题目,话说感觉有点晚了,还是在向总安排下出的.我被安排的是字符串方面的内容,这应该相对而言是比较小众的知识点吧,但是一样的有作用的,也有很神的题目.所谓是NOIP模拟题,其实 ...

  5. spark listener

    最近在做一个需求,当spark程序在读数据或写数据时,将所读的条数或或所写的条数实时的展现出来,这里用到了SparkListener,sparklisten 可以获取spark 各个运行阶段的状态. ...

  6. lhgDialog弹窗提示窗口组件

    原文地址:http://www.lhgdialog.com/api/ 在页面head引入lhgdialog(如果项目采用jQuery作为框架,则引用jQuery的库). <script type ...

  7. TestNG入门——注解之Before/After

    注解是java 5新增的功能,可使用于类,方法,变量,testNG包提供的注解功能请见下表 1.@BeforeSuite or @AfterSuite  被注解的方法,将在整个测试套件之前 or 之后 ...

  8. 【转帖】Storm基本原理概念及基本使用

    Storm基本原理概念及基本使用 https://www.cnblogs.com/swordfall/p/8821453.html 1. 背景介绍 1.1 离线计算是什么 离线计算:批量获取数据.批量 ...

  9. day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间

    day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...

  10. 什么是SQL ?

    SQL 1.什么是SQL ? Structured Query Languange:结构化查询语言 其实就是定义了操作所有关系型数据库的规则.每一种数据库操作的方式存在不一样的地方,称为“方言”. 2 ...