vue中axios的参数位置整理

2023-11-12

每次在进行前后端联调的时候,总是因为参数放不对而影响进度,我人都麻了,真的记不住,还是整理一下以便后续开发

一、vue2和vue3的接口请求头

// vue 2
const res = await this.$axios.get(``,{})

// vue 3
const { proxy } = getCurrentInstance()
const res = await proxy.$axios.get(``,{})

主要区别就是this不能用了

二、不同请求类型

我目前所接触到的就是GET, POST, PUT, DELETE, 其中get,post最多,其他的以后再增加,

GET请求 

一般用于从后端获取数据,参数位置一般为path或query

const { proxy } = getCurrentInstance()

const onLogin = () => {
    const iccid = '11111'
    try{
        const res = await proxy.$axios.get(`/userInfo/${iccid}`)
    }catch(e){
     proxy.$message.error(e.message)
    }
}


 如果传参位置在路径里面,就直接写在路径里

 对于放在query的参数,需要在路径后面,用params传递

const { proxy } = getCurrentInstance()

const onLogin = () => {
    const userId= 1
    try{
        const res = await proxy.$axios.get(`/userInfo`,{
            params:{
                userId            
            }
        }
        )
    }catch(e){
     proxy.$message.error(e.message)
    }
}

POST请求

传参一般有path,query,body三种形式,path跟get一致,

之前query传参写错了,与get不同,要放在第三个括号里,并且要用params包裹起来

const { proxy } = getCurrentInstance()

const onLogin = () => {
    const endTime = '2021/12/6'
    const iccid = '1111111'
    try{
        const res = await proxy.$axios.post(`/userInfo`,{},
        {
            params:{
                endTime,
                iccid            
            }
        })
    }catch(e){
     proxy.$message.error(e.message)
    }
}

 query同样也是放进param里面

const { proxy } = getCurrentInstance()

const onLogin = () => {
    const name = '糯米w'
    const phone = '1111111'
    try{
        const res = await proxy.$axios.post(`agents`, {
              name,
              phone,
            })
        )
    }catch(e){
     proxy.$message.error(e.message)
    }
}

如果参数是放在body里面,就不需要params,而是直接放参数就好

三、特殊处理的接口

上面提到的都是封装好的接口,有时候必须要使用原装接口,最常用的就是图片,文件的传输

这是一个文件传输的接口,因此出现了formData这种数据格式

 var Data = new FormData()
 Data.append('file', cardMessage.uploadMsg)
const res = await proxy.$axios({
              url: `Transfer`,
              method: 'POST',
              data: Data,
              headers: {
                'Content-Type': 'multipart/form-data',
              },
              params: {
                type: 'BACK',
              }
            })

对于数据必须用FormData处理,是为了将数据编译成键值对

 然后将其放在data里面被接收

然后对于其他的参数,放在params里面,这其实就是用到axios默认的请求配置项

我先回去把axios好好学习一下,然后再把其他文件类型也写出来

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue中axios的参数位置整理 的相关文章

随机推荐

  • 什么是vps

    在上网冲浪的时候看到网友在说一个我不认识的词汇 vps 于是在此记录下 文章目录 一 介绍 1 概念 2 特性用途 二 VPS又称为机场 三 VPS的使用 1 如何获取VPS 2 VPS品牌 总结 一 介绍 1 概念 VPS Virtual
  • 物联网平台设备运维监控报警介绍——实践类

    物联网平台监控报警简介 物联网平台除了基础的设备接入上云以及物模型建模管理外 还提供了面向运维场景的监控报警功能 帮助客户了解业务的运行情况 进行相关的运维操作 本文重点介绍相关的监控可视化及规则报警通知功能 包括 自定义的可视化监控大盘
  • 时间序列预测——LSTM模型(附代码实现)

    目录 模型原理 模型实现 导入所需要的库 设置随机数种子 导入数据集 打印前五行数据进行查看 数据处理 归一化处理 查看归一化处理后的数据 将时间序列转换为监督学习问题 打印数据前五行 划分训练集和测试集 查看划分后的数据维度 搭建LSTM
  • 通过环境变量修改java版本不生效

    通过环境变量修改java版本不生效 环境变量指向的是Java1 8版本 但是在终端下查看Java version版本是10 0 2 本机依次安装了 jdk1 8 jdk1 6 和 jdk1 7 三个版本的 jdk 由于maven打包andr
  • 基于PaddleGAN项目人脸表情动作迁移学习(二)单人表情迁移

    学习目标 学习基于PaddleGAN实现的动作迁移模型 First order motion model First order motion model原理 First order motion model的任务是image animat
  • STM32——I2C通信理论基础(1)(学习笔记)

    STM32 I2C通信理论基础 硬件层 协议层 1 I2C基本读写过程 2 I2C通信的起始和停止信号 3 数据的有效性 4 响应 前言 我们在学习stm32的时候 要想学得更好 i2c协议的学习是必不可少的 现在很多的硬件 传感器等都是用
  • Vite2.0常见配置

    一 创建 1 创建 npm init vite latest my vue app template vue ts 查看 create vite 以获取每个模板的更多细节 vanilla vanilla ts vue vue ts reac
  • Win10-部署java环境教程

    一提到部署环境 不得不提到java环境 现如今java遍地走 python多如狗的世界里 如果不能在本地搭建一套java环境 都不好意思说自己是搞软件的 这里呢 给大家来分享一下 如何在一个新的机器上部署java环境 首先 java环境的配
  • FPGA零基础学习之Vivado-锁相环使用教程

    FPGA零基础学习之Vivado 锁相环使用教程 本系列将带来FPGA的系统性学习 从最基本的数字电路基础开始 最详细操作步骤 最直白的言语描述 手把手的 傻瓜式 讲解 让电子 信息 通信类专业学生 初入职场小白及打算进阶提升的职业开发者都
  • mybaties总结

    1 需要导入四个坐标 分别是mybatits junit log4j mysql connection java 2 连接数据库信息 配置mapper的位置 3 映射文件namespace对应的是接口全名 id是接口里面的方法名 resul
  • BUCK电路原理及PCB布局与布线注意事项

    1 BUCK架构 Buck架构 当开关闭合的时候 当开关断开的时候 根据伏秒平衡定理可得 Vin Vout DT Vout 1 D T gt Vin Vout D lt 1 在实际DCDC应用中 当Q1闭合的时候 在图1 a中 红线示出了当
  • Java面试——缓存

    一 什么是缓存 1 缓存就是数据交换的缓冲区 称作 Cache 当某一硬件要读取数据时 会首先从缓存汇总查询数据 有则直接执行 不存在时从内存中获取 由于缓存的数据比内存快的多 所以缓存的作用就是帮助硬件更快的运行 2 缓存往往使用的是RA
  • MMRotate:旋转框检测实现过程

    MMRotate 旋转框检测实现过程 MMRotate地址 https github com open mmlab mmrotate 文档地址 https mmrotate readthedocs io en latest 一 环境搭建 1
  • Raspberry Pi Zero 单板配置手记(四)调整 TF 卡分区大小的不同方式

    RPi Zero 调整 TF 卡分区大小的不同方式 本文章为系列文章 Raspberry Pi Zero 单板配置手记 的第四篇 上一篇为 Raspberry Pi Zero 单板配置手记 三 使用 NetworkManager 管理网络连
  • 启动httpd服务:SSLCertificateFile: file ‘/var/www/miq/vmdb/certs/server.cer‘ does not exist or is empty

    启动httpd服务 SSLCertificateFile file var www miq vmdb certs server cer does not exist or is empty 启动httpd服务 失败 复制代码 root te
  • UE5《Electric Dreams》项目PCG技术解析 之 理解Assembly(以SplineExample为例)

    文章目录 1 什么是Assembly 2 PCG部分 2 1 Assembly变换 2 2 Point变换 2 2 1 SG CopyPointsWithHierachy 2 2 2 过滤及点变换 2 2 3 ApplyHierachy 3
  • python 获取控制台输出内容 解决中文乱码

    Python获取控制台输出 1 使用subprocess库 非实时读取 import subprocess xe subprocess run iperf3 c 127 0 0 1 p 5668 J stdout subprocess PI
  • shell实现嵌入式软件看门狗

    shell实现嵌入式软件看门狗 长时间运行的嵌入式程序 有时会因为莫名其妙的原因挂掉 这时就需要有其他的程序来一直监控我们的程序 由于监控程序属于软件层面 因此这种程序被称为 软件看门狗 这里用一个shell脚本实现该功能 这个脚本会一直监
  • Nginx Lua 实战

    在 nginx conf 中配置 在 http 节点中配置 location staticitem get default type text html content by lua file lua staticitem lua 创建 s
  • vue中axios的参数位置整理

    每次在进行前后端联调的时候 总是因为参数放不对而影响进度 我人都麻了 真的记不住 还是整理一下以便后续开发 一 vue2和vue3的接口请求头 vue 2 const res await this axios get vue 3 const