vue axios使用,vue-axios详细介绍

  vue axios使用,vue-axios详细介绍

  Axios是基于Promise的浏览器和nodejs的HTTP客户端。下面这篇文章主要介绍你如何在三分钟内快速学会Axios在vue项目中的基本用法。通过示例代码非常详细的介绍,有需要的朋友可以参考一下。

  

目录

   axios 1简介。axios是干什么的2。安装和使用。axios请求方法1。axios请求方法:2。get请求3、post请求4、put和patch请求5、delete请求6、并发请求4、axios实例1、创建axios实例2、Axios全局配置3、Axios实例配置4、Axios请求配置V、拦截器1、请求拦截器2、响应拦截器3、取消拦截VI、错误处理VII、取消请求结论提示:本文详细讲解了vue项目中Axios的例子。使用Vue.js框架开发前端项目时,经常会发送ajax请求服务器接口。在开发过程中,axios需要进一步封装,以便于在项目中使用。

  

Axios简介

  axios框架的全称(AjaxI/osystem):

  基于Promise的浏览器和node.js的http客户端,所以可以使用Promise API。

  

一、axios是干啥的

  说到axios,就不得不说Ajax。当旧的浏览器页面向服务器请求数据时,页面会因为返回整个页面的数据而被强制刷新,对用户不是很友好。而且我们只需要修改页面的部分数据,但是服务器发来的数据是整个页面,很消耗网络资源。而我们只需要修改页面的一些数据,也希望不要刷新页面,于是异步网络请求应运而生。

  Ajax(异步JavaScript和XML):

  异步网络请求。Ajax可以让页面没有刷新请求数据。

  实现ajax的方法有很多,比如jQuery封装的ajax,原生XMLHttpRequest,axios。但是每种方式都有其优点和缺点:

  原生XMLHttpRequest的配置和调用方法比较繁琐,实现异步请求非常麻烦。jQuery的ajax相对于原生ajax来说非常好用,但是用ajax异步网络请求没必要参考jQuery框架的Axios (ajax I/O System):

  这并不是什么新技术,但本质上是原生XMLHttpRequest的封装,可以用于nodejs的浏览器和HTTP客户端,只不过是基于Promise,符合最新的ES规范。具有以下特点:

  在浏览器中创建一个XMLHttpRequest请求,在node.js中发送一个http请求,支持Promise API拦截请求和响应,取消请求和响应数据,需要自动转换JSON数据。客户端支持CSRF/XSRF(跨域请求伪造)防止。

  

二、安装使用

  有三种安装方式:

  Npm安装

  npm安装axios

  鲍尔装置

  鲍尔安装axios

  通过cdn引入

  script src= https://UNP kg . com/axios/dist/axios . min . js /script

  将axios引入vue项目的main.js文件

  从“axios”导入axios

  Vue.prototype.$axios=axios

  在组件中使用axios

  脚本

  导出默认值{

  已安装(){

  这个。$axios.get(/goods.json )。然后(res={

  console . log(RES . data);

  })

  }

  }

  /脚本

  

三、Axios请求方式

  

1、axios可以请求的方法:

  Get:获取数据,请求指定信息,返回实体对象post:向指定资源提交数据(如表单提交或文件上传)put:更新数据,客户端传输到服务器的数据替换指定文档的内容。patch: update data是put方法的补充,用于本地更新已知资源。删除:请求服务器删除指定的数据。

  

2、get请求

  示例代码

  方法一

  //请求格式类似于http://localhost:8080/goods.json?id=1

  这个。$axios.get(/goods.json ,{

  参数:{

  id:1

  }

  }).然后(res={

  console . log(RES . data);

  },错误={

  console . log(err);

  })

  方法2

  这个。$axios({

  方法:“get”,

  网址:/goods.json ,

  参数:{

  id:1

  }

  }).然后(res={

  console . log(RES . data);

  },错误={

  console . log(err);

  })

  

3、post请求

  发布请求通常分为两种类型

  1 . form-数据表单提交,在上传图片和文件时广泛使用。

  2.application/json通常用于ajax异步请求

  示例代码

  方法一

  这个. axios.post(/url ,{

  id:1

  }).然后(res={

  控制台。日志(研究数据);

  },错误={

  控制台。日志(错误);

  })

  方法二

  $axios({

  方法: post ,

  URL:“/URL”,

  数据:{

  id:1

  }

  }).然后(res={

  控制台。日志(研究数据);

  },错误={

  控制台。日志(错误);

  })

  表单数据请求

  let data={

  //请求参数

  }

  let FormData=new FormData();

  对于(输入数据){

  formdata.append(key,data[key]);

  }

  这个axios.post(/goods.json ,formdata).然后(res={

  控制台。日志(研究数据);

  },错误={

  控制台。日志(错误);

  })

  

4、put和patch请求

  示例代码

  放请求

  这个. axios.put(/url ,{

  id:1

  }).然后(res={

  控制台。日志(研究数据);

  })

  修补请求

  这个. axios.patch(/url ,{

  id:1

  }).然后(res={

  控制台。日志(研究数据);

  })

  

5、delete请求

  示例代码

  参数以明文形式提交

  这个. axios.delete(/url ,{

  参数:{

  id:1

  }

  }).然后(res={

  控制台。日志(研究数据);

  })

  参数以封装对象的形式提交

  这个. axios.delete(/url ,{

  数据:{

  id:1

  }

  }).然后(res={

  控制台。日志(研究数据);

  })

  //方法二

  axios({

  方法:"删除",

  URL:“/URL”,

  参数:{ id:1 },//以明文方式提交参数

  数据:{ id:1 } //以封装对象方式提交参数

  }).然后(res={

  控制台。日志(研究数据);

  })

  

6、并发请求

  并发请求:同时进行多个请求,并统一处理返回值

  示例代码

  这个. axios.all([

  这个. axios.get(/goods.json ),

  这个. axios.get(/classify.json )

  ]).然后(

  这个axios.spread((goodsRes,classifyRes)={

  控制台。日志(goodsres。数据);

  控制台。日志(分类研究数据);

  })

  )

  

四、Axios实例

  

1、创建axios实例

  示例代码

  让实例=这个. axios.create({

  baseURL:"http://localhost:9090 ",

  超时:2000

  })

  instance.get(/goods.json ).然后(res={

  控制台。日志(研究数据);

  })

  可以同时创建多个爱可信实例。

  爱可信实例常用配置:

  基础地址请求的域名,基本地址,类型:Stringtimeout请求超时时长,单位ms,类型:数字全球资源定位器(Uniform Resource Locator)请求路径,类型:Stringmethod请求方法,类型:字符串头设置请求头,类型:对象参数请求参数,将参数拼接在统一资源定位器上,类型:对象数据请求参数,将参数放到请求体中,类型:对象

  

2、axios全局配置

  示例代码

  //配置全局的超时时长

  这个100美元axios。默认值。超时=2000;

  //配置全局的基本统一资源定位器

  这个100美元axios。默认值。基本URL= http://localhost:8080 ;

  

3、axios实例配置

  示例代码

  让实例=这个100美元axios。create();

  实例。默认值。超时=3000;

  

4、axios请求配置

  示例代码

  这个. axios.get(/goods.json ,{

  超时:3000

  }).然后()

  以上配置的优先级为:请求配置 实例配置 全局配置

  

五、拦截器

  拦截器:在请求或响应被处理前拦截它们

  

1、请求拦截器

  示例代码

  这个100美元axios。截击机。请求。使用(配置={

  //发生请求前的处理

  返回配置

  },错误={

  //请求错误处理

  返回保证。拒绝(err);

  })

  //或者用爱可信实例创建拦截器

  假设实例=$ axios。create();

  实例。截击机。请求。使用(配置={

  返回配置

  })

  

2、响应拦截器

  示例代码

  这个100美元axios。截击机。回应。使用(RES={

  //请求成功对响应数据做处理

  return res //该返回对象会传到请求方法的响应对象中

  },错误={

  //响应错误处理

  返回保证。拒绝(err);

  })

  

3、取消拦截

  示例代码

  让实例=这个100美元axios。截击机。请求。使用(配置={

  config.headers={

  令牌:""

  }

  返回配置

  })

  //取消拦截

  这个100美元axios。截击机。请求。弹出(实例);

  

六、错误处理

  示例代码

  这个. axios.get(/url ).然后(res={

  }).接住(错误={

  //请求拦截器和响应拦截器抛出错误时,返回的犯罪对象会传给当前函数的犯罪对象

  控制台。日志(错误);

  })

  

七、取消请求

  示例代码

  让来源=这个.$axios .取消令牌。source();

  这个. axios.get(/goods.json ,{

  取消令牌:来源

  }).然后(res={

  console.log(res)

  }).接住(错误={

  //取消请求后会执行该方法

  console.log(错误)

  })

  //取消请求,参数可选,该参数信息会发送到请求的捕捉中

  source.cancel(取消后的信息);

  

结语

  这篇关于axios在vue项目中的基本用法的文章到此为止。想了解更多关于axios在vue项目中的基本用法,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: