Axios使用详解

打印 上一主题 下一主题

主题 771|帖子 771|积分 2313

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为全部请求方式都提供了别名:
  1. axios.request(config)
  2. axios.get(url,[config])
  3. axios.delete(url,[config])
  4. axios.head(url,[config])
  5. axios.options(url,[config])
  6. 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,命令如下:
  1. npm install -g json-server
复制代码
(2)在任意盘符中创建一个文件夹用于存放JSON数据文件,终端切换到该文件目录下,实行初始化命令(不停按回车键即可):
  1. npm init
复制代码
(3)在初始化的项目中安装json-server,实行如下命令:
  1. npm install json-server --save
复制代码
(4)此时我们在项目文件夹下就可看到一个package.json文件,然后在当前目录下新建一个db.json文件,在本文件下编写自己的JSON数据:
  1. "uscrs":[
  2. nane" :"beixi".
  3. phone :"1553681223+"cma1l":"6354987200g4,oon",
  4. "id":1,
  5. "age" : 18,
  6. conpangId":1
  7. "name" :"jzj",
  8. "phone:"15536B1223*"
  9. "enail":" jzj@ enail.coa""id” :2.
  10. "age":34,
  11. companyId";2
  12. nane":"beixigitan".
  13. phone":"1553661223*"enail":"beixigitan@enail.con
  14. "id” 3,
  15. age":43,coapanyId" :3
  16. ]."canpanies":[
  17. "id”:1,
  18. "nane" :" hlibaba" ,
  19. "description":"alibaba is good'
  20. ),[
  21. "id” :2,
  22. "nane" :"Miciosoft"
  23. "description":"microsoft is good"
  24. ).[
  25. "id” :3.
  26. "nane" :"coogle”,
  27. "deseription";"Google is good"
复制代码
(6)运行json-server,命令如下:
  1. npm run json:server
复制代码
接着我们利用Axios访问json-server服务器中的数据,对数据列表举行增、删、查操纵。
(1)router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象是一个全局的对象,它包罗了全部的路由并且也包罗了许多关键的对象和属性,代码如下:
  1. $ router.push({path:'home'});      //切换路由,有history记录
  2. $ router.replace({path:'home'});      //替换路由,没有历史记录
复制代码
(2)route是一个跳转的路由对象,每一个路由都会有一个route对象,它是一个局部的对象,可以获取对应的name、path、params、query等。
$ route.path、$ route.params、$ route.name、$ route.query这几个属性很容易理解,主要用于吸收路由通报的参数。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表