Axios

简介: Axios


Axios是一个基于Promise的HTTP库

它是一个简洁、易用且高效的代码封装库。通俗地讲,它是当前比较流行的一种Ajax框架,可以使用它发起HTTP请求接口功能,它是基于Promise的,相比较Ajax的回调函数能够更好地管理异步操作。

Axios的特点:

(1)从浏览器中创建XMLHttpRequests。

(2)从Node.js创建HTTP请求。

(3)支持Promise API。

(4)拦截请求和响应。

(5)转换请求数据和响应数据。

(6)取消请求。

(7)自动转换JSON数据。

(8)客户端支持防御XSRF。

基本使用

首先使用NPM安装Axios的依赖,命令如下:

npm install axios

如果要全局使用Axios就需要在main.js中设置,然后在组件中通过this调用,代码如下:

import axios from ‘axios’

Vue.prototype. $ axios = axios;  //加载到原型上

Axios提供了很多请求方式,例如在组件中直接发起GET或POST请求:

分别写两个请求函数,利用Axios的all方法接收一个由每个请求函数组成的数组,可以一次性发送多个请求,如果全部请求成功,在axios.spread方法中接收一个回调函数,该函数的参数就是每个请求返回的结果,代码如下:

以上通过Axios直接发起对应的请求其实是Axios为了方便起见给不同的请求提供别名方法。我们完全可以通过调用Axios的API,传递一个配置对象来发起请求。

发送POST请求,参数写在data属性中,代码如下:

发送GET请求,

默认就是GET请求,直接在第一个参数处写路径,在第二个参数处写配置对象,参数通过params属性设置,代码如下:

Axios为所有请求方式都提供了别名:

axios.request(config)
axios.get(url,[config])
axios.delete(url,[config])
axios.head(url,[config])
axios.options(url,[config])
axios.post(url,[data],[config])

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

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

注意:在使用别名方法时,url、method、data这些属性都不必在配置中指定。

json-server的安装及使用

json-server是一个Node模块,运行Express服务器,我们可以指定一个JSON文件作为API的数据源。简单理解为在本地创建数据接口,使用Axios访问数据,使用步骤如下。

(1)首先输入命令cmd进入终端,在根目录下全局安装json-server,命令如下:

npm install -g json-server

(2)在任意盘符中创建一个文件夹用于存放JSON数据文件,终端切换到该文件目录下,执行初始化命令(一直按回车键即可):

npm init

(3)在初始化的项目中安装json-server,执行如下命令:

npm install json-server --save

(4)此时我们在项目文件夹下就可看到一个package.json文件,然后在当前目录下新建一个db.json文件,在本文件下编写自己的JSON数据:

"uscrs":[
nane" :"beixi".
phone :"1553681223+"cma1l":"6354987200g4,oon",
"id":1,
"age" : 18,
conpangId":1
"name" :"jzj",
"phone:"15536B1223*"
"enail":" jzj@ enail.coa""id” :2.
"age":34,
companyId";2
nane":"beixigitan".
phone":"1553661223*"enail":"beixigitan@enail.con
"id” 3,
age":43,coapanyId" :3
]."canpanies":[
"id”:1,
"nane" :" hlibaba" ,
"description":"alibaba is good'
),[
"id” :2,
"nane" :"Miciosoft"
"description":"microsoft is good"
).[
"id” :3.
"nane" :"coogle”,
"deseription";"Google is good"

(6)运行json-server,命令如下:

npm run json:server

接着我们利用Axios访问json-server服务器中的数据,对数据列表进行增、删、查操作。

(1)router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象是一个全局的对象,它包含了所有的路由并且也包含了许多关键的对象和属性,代码如下:

$ router.push({path:'home'});      //切换路由,有history记录
$ router.replace({path:'home'});      //替换路由,没有历史记录

(2)route是一个跳转的路由对象,每一个路由都会有一个route对象,它是一个局部的对象,可以获取对应的name、path、params、query等。

$ route.path、$ route.params、$ route.name、$ route.query这几个属性很容易理解,主要用于接收路由传递的参数。

目录
相关文章
操作系统:死锁资源的计算
操作系统:死锁资源的计算
2217 0
|
编译器 C++ 开发者
C++一分钟之-C++20新特性:模块化编程
【6月更文挑战第27天】C++20引入模块化编程,缓解`#include`带来的编译时间长和头文件管理难题。模块由接口(`.cppm`)和实现(`.cpp`)组成,使用`import`导入。常见问题包括兼容性、设计不当、暴露私有细节和编译器支持。避免这些问题需分阶段迁移、合理设计、明确接口和关注编译器更新。示例展示了模块定义和使用,提升代码组织和维护性。随着编译器支持加强,模块化将成为C++标准的关键特性。
911 3
|
前端开发 JavaScript Java
Ajax进行异步交互:提升Java Web应用的用户体验
Ajax 技术允许在不重载整个页面的情况下与服务器异步交换数据,通过局部更新页面内容,极大提升了 Java Web 应用的响应速度和用户体验。本文介绍 Ajax 的基本原理及其实现方式,包括使用 XMLHttpRequest 对象发送请求、处理响应数据,并在 Java Web 应用中集成 Ajax。此外,还探讨了 Ajax 如何通过减少页面刷新、实时数据更新等功能改善用户体验。
168 3
|
存储 安全 数据安全/隐私保护
移动APP安全加固技术深度解析
【7月更文挑战第12天】移动APP安全加固技术是保障移动应用安全的重要手段。通过对Android和iOS两大主流平台的安全加固,可以有效防止逆向分析、动态调试、数据篡改等安全威胁。在实际应用中,我们需要结合静态层面、动态层面和数据层面的加固技术,全方位地提升APP的安全性。同时,随着技术的不断发展,我们也需要不断关注新的安全威胁和加固技术,确保移动应用的安全性和稳定性。
|
12月前
|
JavaScript
vue 中 axios 的安装及使用
本文介绍了在Vue项目中安装和使用axios的方法。首先通过命令`npm install axios --save-dev`安装axios,然后在组件的`created`生命周期钩子中使用`axios.get`异步获取数据,并将获取的数据更新到组件的`data`中。文中提供了完整的示例代码,包括安装命令、验证安装成功的步骤、Vue组件的模板、脚本和样式。
vue 中 axios 的安装及使用
|
前端开发 JavaScript 项目管理
Poetry vs npm:两个包管理器的迷人相似性
我们知道 Python 有自己的生态链。Python 版本也非常多,为了处理这么多的版本造成的包问题,Python 有了虚拟环境。在开始之前本文默认对 Python 的生态有了基础的了解(pip 等等)。 本文全面介绍了 Python 包管理项目管理,虚拟环境管理工具的 Poetry 的基本用法。对比不同的编程语言对包的管理其实都是相似的,Peotry 的与 npm 极为相似,你掌握其中一个另一个基本也熟悉了。
|
网络协议 网络性能优化 开发者
深入理解TCP连接的建立过程
【8月更文挑战第24天】
799 0
|
JSON 前端开发 安全
XHR 和 Fetch方法小知识
【6月更文挑战第7天】XHR 和 Fetch方法小知识
818 0
|
机器学习/深度学习 数据采集 算法
利用机器学习进行客户细分的技术解析
【5月更文挑战第17天】运用机器学习进行客户细分是提升企业精准营销和竞争力的关键。通过聚类分析、决策树、支持向量机和神经网络等算法,可深入理解客户需求和偏好。关键步骤包括数据收集预处理、特征选择、模型训练与优化,最终实现客户群体的精准划分,助力定制个性化营销策略。随着技术发展,机器学习在客户细分中的应用将更加广泛。
|
存储 缓存 JavaScript
web前端常见的面试题汇总(一),web前端面试题目
web前端常见的面试题汇总(一),web前端面试题目

热门文章

最新文章