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

vue axios 请求后端无法传参问题

vue请求后端无法传参问题

    • 问题描述
    • 处理过程
    • 总结

问题描述

在学习vue时,使用axios调用后端,发现无法把参数正确传到后端,现象如下:

  1. 使用vue发起请求,浏览器上已经有传参,但是后端没接收到对应的用户名密码:
    在这里插入图片描述
    在这里插入图片描述

  2. 使用postman发起请求,后端可以接收
    在这里插入图片描述
    在这里插入图片描述

处理过程

使用postman发送,一切正常,说明vue的axios配置有问题,或者是我的参数穿的格式不对,参数我是这么传的,一个对象,按道理来说没啥问题,我认为后端会把这个json对象解析付给入参,但是结果却没有:
在这里插入图片描述
网上搜了一下,需要添加form表单头部到axios的header配置中:

{ "Content-Type": "application/x-www-form-urlencoded;charset=utf-8" }

在这里插入图片描述
再次发起请求:
载荷里面的内容发生了变化,请求载荷变成了表单数据
在这里插入图片描述

后端成功解析到请求参数:在这里插入图片描述

总结

一开始以为请求载荷就是post请求里的表单数据,后面才发现这两个在浏览器的请求中是有区别的:

  1. axios如果直接传对象,不指定是表单数据的话,会自动帮你转成json字符串给后端(后端可以使用@RequestBody接收参数,我试过使用Map可以接收到前端两个参数)
  2. 指定了表单数据头部的话,才会传表单数据(后端可以使用@RequestParam来解析表单数据)
http://www.lryc.cn/news/300434.html

相关文章:

  • 打印最小公倍数
  • [AIGC] Java 和 Kotlin 的区别
  • 蓝桥杯电子类单片机提升一——超声波测距
  • 前端架构: 脚手架开发流程中的难点梳理
  • django中配置使用websocket
  • Rust复合类型详解
  • 学习 JavaScript 闭包
  • VScode中配置 C/C++ 环境 | IT拯救者
  • 基于Python实现Midjourney集成到(个人/公司)平台中
  • 蓝桥杯刷题--python-6
  • node+vue3+mysql前后分离开发范式——实现对数据库表的增删改查
  • 【Android】使用Apktool反编译Apk文件
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • Django模板(二)
  • 勒索病毒最新变种.faust勒索病毒来袭,如何恢复受感染的数据?
  • python 人脸检测器
  • 机器学习与深度学习
  • 算法训练营day27(补),贪心算法1
  • [office] excel2003限定单元格输入值范围教程 #微信#经验分享
  • OLED显示红外遥控键码
  • LabVIEW智能温度监控系统
  • 专业140+总分420+浙江大学842信号系统与数字电路考研经验电子信息与通信,真题,大纲,参考书。
  • C语言学习day15:数组强化训练
  • 缓存穿透、缓存击穿与缓存雪崩
  • 一周学会Django5 Python Web开发-项目配置settings.py文件-模版配置
  • CF1845 D. Rating System [思维题+数形结合]
  • HeidiSQL安装配置(基于小皮面板(phpstudy))连接MySQL
  • 【蓝桥2013】错误票据
  • nvm对node版本进行管理及疑难解决,vue项目搭建与启动
  • Redisson分布式锁 原理 + 运用 记录