当前位置: 首页 > news >正文

vue数据请求通用方案:axios的options都有哪些值

在这里插入图片描述

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。

在使用 Axios 发送请求时,可以通过传递一个配置对象来指定请求的各种选项。

以下是一些常用的 Axios 配置选项及其说明:

1.url: (必需)请求的 URL。

url:'/user'

2.method: (可选,默认为GET)请求方法。

method:'POST'

3.baseURL: (可选)请求的基础 URL。如果指定了baseURL,则url 将相对于这个基础 URL。

baseURL:'https://api.example.com'

4.headers: (可选)请求头对象。

headers:{
'Content-Type':'application/json',
'Authorization':'Bearer your-token'
}

5.params: (可选)URL 参数对象。

params:{
ID:12345
}

6.data: (可选)请求体数据,用于POST、PUT、PATCH 等方法。

data:{
firstName:'John',
lastName:'Doe'
}

7.timeout: (可选)请求超时时间(毫秒)。

timeout:5000

8.withCredentials: (可选,默认为false)是否允许跨域请求携带凭证(如 cookies)。

withCredentials:true

9.responseType: (可选,默认为’json’)响应的数据类型,可以是’arraybuffer’、‘blob’、‘document’、‘json’、‘text’、‘stream’。

responseType:'json'

10.onUploadProgress: (可选)上传进度事件的回调函数。

onUploadProgress:function(progressEvent){
console.log(Math.round((progressEvent.loaded*100)/ progressEvent.total));
}

11.onDownloadProgress: (可选)下载进度事件的回调函数。

onDownloadProgress:function(progressEvent){
console.log(Math.round((progressEvent.loaded*100)/ progressEvent.total));
}

12.maxContentLength: (可选)允许的最大响应内容长度(字节)。

maxContentLength:2000

13.maxBodyLength: (可选)允许的最大请求体长度(字节)。

maxBodyLength:2000

14.validateStatus: (可选)用于验证服务器响应状态码的函数。默认情况下,Axios 会将 2xx 范围内的状态码视为成功。

validateStatus:function(status){
return status>=200&& status<300;// 默认行为
}

15.auth: (可选)HTTP 基本认证信息。

auth:{
username:'janedoe',
password:'s3cr3t'
}

16.proxy: (可选)代理服务器配置。

proxy:{
host:'127.0.0.1',
port:9000,
auth:{// 可选
username:'mikeymike',
password:'rapunz3l'
}
}

以下是一个综合示例,展示了如何使用这些配置选项:

importaxiosfrom'axios';
axios({
url:'/user',
method:'POST',
baseURL:'https://api.example.com',
headers:{
'Content-Type':'application/json',
'Authorization':'Bearer your-token'
},
params:{
ID:12345
},
data:{
firstName:'John',
lastName:'Doe'
},
timeout:5000,
withCredentials:true,
responseType:'json',
onUploadProgress:function(progressEvent){
console.log(Math.round((progressEvent.loaded*100)/ progressEvent.total));
},
onDownloadProgress:function(progressEvent){
console.log(Math.round((progressEvent.loaded*100)/ progressEvent.total));
},
validateStatus:function(status){
return status>=200&& status<300;// 默认行为
},
auth:{
username:'janedoe',
password:'s3cr3t'
},
proxy:{
host:'127.0.0.1',
port:9000
}
}).then(response=>{
console.log('Response:', response.data);
}).catch(error=>{
console.error('Error:', error);
});

通过这些配置选项,你可以灵活地控制 Axios 发送的请求,满足各种不同的需求。

http://www.lryc.cn/news/515832.html

相关文章:

  • 使用R语言绘制标准的中国地图和世界地图
  • 【PyTorch】迁移学习、数据增强
  • Lucas-Kanade光流法详解
  • python多张图片生成/合成gif
  • iptable限制多个端口出站
  • springmvc--请求参数的绑定
  • Redis查询缓存
  • 双馈风电DFIG并网系统次转子侧变流器RSC抑制策略研究基于LADRC和重复控制的方法
  • 国产编辑器EverEdit - 使用技巧:变量重命名的一种简单替代方法
  • 使用SSH建立内网穿透,能够访问内网的web服务器
  • JWT认证实战
  • 计算机网络 (23)IP层转发分组的过程
  • 权限管理的方法
  • 【郑大主办、ACM出版、EI稳定检索】第四届密码学、网络安全与通信技术国际会议 (CNSCT 2025)
  • 48小时,搭建一个设备巡检报修系统
  • 基于Redisson实现重入锁
  • Java文件操作的简单示例
  • 删除与增加特定行
  • 动态规划六——两个数组的dp问题
  • 项目优化之策略模式
  • [读书日志]从零开始学习Chisel 第四篇:Scala面向对象编程——操作符即方法(敏捷硬件开发语言Chisel与数字系统设计)
  • 三子棋游戏
  • MyBatis执行一条sql语句的流程(源码解析)
  • 【电机控制】低通滤波器及系数配置
  • ArcgisServer过了元旦忽然用不了了?许可过期
  • 如何在不丢失数据的情况下从 IOS 14 回滚到 IOS 13
  • 【算法刷题】链表
  • 计算机网络 —— 网络编程实操(1)(UDP)
  • selenium 确保页面完全加载
  • [极客大挑战 2019]HardSQL 1