axios基础知识


前言

提示:axios 基于promise封装的库[核心还是基于 XMLHttpRequest 发送请求的]


提示:http://www.axios-js.com/zh-cn/docs/

一、axios发送数据的返回情况

基于axios发送数据请求,返回结果都是一个promise实例

1、默认情况下,http状态码是2开始,则让promise状态成功

  • 服务器返回的http状态码是2开始,则让promise状态成功,值是一个respose对象
 response = {
   
          config:{
   ...}, 发送axios请求设置的配置项
          data:{
   ...}, 服务器返回的响应主体信息
          headers:{
   ...}, 服务器返回的响应头信息
          request:XMLHttpRequest实例对象, 原生的xhr对象
          status:200, 服务器响应的HTTP状态码
          statusText:'OK' 状态码的描述
      }
  • promise状态为失败
    1、服务器有返回信息 [response对象不存在],只不过http状态码不是以2开始的
reason = {
   
            config:{
   ...},
            isAxiosError: true,
            request:XMLHttpRequest实例对象,
            response:等同于成功获取的response对象,
            toJSON:function...,
            message:'xxx',
            ...
        };

在这里插入图片描述
2、请求超时 或者 请求中断了
在这里插入图片描述
3、断网了,特点:服务器没有反馈任何的信息

2、自定义服务返回的HTTP状态码为多少是成功,为多少失败!!

官网描述:
validateStatus 定义对于给定的HTTP 响应状态码是 resolve 或 reject promise 。如果 validateStatus 返回 true (或者设置为 nullundefined),promise 将被 resolve; 否则,promise 将被 rejecte

 // axios的validateStatus配置项,就是自定义promise实例状态是成功的条件
  validateStatus: function (status) {
   
    return status >= 200 && status < 300; // default
  },

二、基于axios发送请求的方式

1、axios([config]) 或者 axios([url],[config])

// 发送 POST 请求
axios({
   
  method: 'post',
  url: '/user/12345',
  data: {
   
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});

// 获取远端图片
axios({
   
	method:'get',
		url:'/user/list',
		params:{
   
			departmentId:0
		}
	})
.then((response)=>{
   
	console.log('res',response)
})
.catch((e
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值