位置: IT常识 - 正文

vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios)

编辑:rootadmin
vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收 前言

推荐整理分享vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue发送请求的几种方式,vue如何使用axios,vue怎么发送post,vue发送请求的几种方式,vue如何发送ajax请求,vue发送axios请求,vue如何发送ajax请求,vue怎么发送post,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在做自己项目中,做一个非常简单的新增用户场景,但是使用原生axios发送post请求的时候,还是踩了不少坑的。

唉,说多了都是泪,小小一个新增业务,在自己前后端一起开发的时候,硬是搞了好久。

下面就把问题总结分享下,防止后人再踩坑。

接口定义

首先先看下我的接口定义吧。

其实就是一个很简单的新增,参数也不复杂。只是一个json实体的user对象

@PostMapping(value = "/save") public Result save(@RequestBody User user) { return Result.ok(userService.saveUser(user)); }

起初我用apifox是这么调用的,直接在json body里面写参数和值:

后端也是正常接收的:

ok,其实到了这我心里一阵暗爽,这不就妥了嘛,前端随便写点传进来不就完事了,但是还真不是这么简单!

前端代码

先看下我的业务吧,就是点击新增按钮跳出来一个表单,填写信息提交后端

我现在使用的是原生的axios,还没进行封装,我的很多坑都是因为原生导致的。我打算做完这个模块再进行封装,先体验下原生的感觉。

首先我是这么写的:

这里可以简单说下

发送get请求都是传递param,发送post请求都是传递data

由于我发送请求之前就把表单数据定义成一个叫data的变量,完整写法应该是:

data:data // 由于key和value一致,可以简写为data

vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收(vue如何使用axios)

// 新增用户信息 saveUserInfo(){ let data = this.ruleForm; axios.post('http://localhost:9090/user/save',{data},{ headers: { "Content-Type":"application/json" }, }).then(res =>{ // 请求成功状态为200说明添加成功 if(res.data.status===200){ // 关闭用户新增表单弹窗 this.dialogFormVisible=false, // 添加成功提示 this.$message({showClose: true, message: '添加成功!',type: 'success', duration:2000,center:true}); // 重新刷新列表数据 this.queryUserList(); } }).catch(error =>{ console.log(error) }) },发送请求并发现问题

上面代码写完直接运行,直接通过network查看请求

仔细一看好像没有什么问题吧,但是我在后端打了断点,一看,我的数据没了:

解决问题

然后我仔细分析,发现是因为数据的外面报了一层data:{}结构,经过请教圈子里面的大佬,发现问题所在:

就是data被花括号包起来了,去掉即可解决问题!

saveUserInfo(){ // 表单数据 let data = this.ruleForm; axios.post('http://localhost:9090/user/save',data,{ // json格式 headers: { "Content-Type":"application/json" }, },

再次运行,解决问题:

后端也正常接收数据了:

至此问题解决

小插曲

下面是一个小插曲,就是有朋友和我说需要用qs进行转换下表单数据,但是我试过了。和这个参数转换问题无关,

安装qs插件

直接执行命令:

npm install qs

这个包很小哇,安装起来很快的:

引用qs

安装完之后,就可以使用qs了,直接在文件中引用

// 引用qsimport qs from 'qs'使用qs

引用qs完后,就可以使用它把对象格式化为一个字符串,一行代码即可

// 使用qs对象格式化为一个字符串 qs.stringify(this.ruleForm)

总结

感觉还是挺简单的,但是还是很有必要封装下。

解决问题一定要精确定位,要多尝试,这里引用艾克一句话送给大家:

我宁愿犯错,也不愿什么都不错

本文链接地址:https://www.jiuchutong.com/zhishi/299956.html 转载请保留说明!

上一篇:CSS字体样式(font)[详细](css中设置字体样式)

下一篇:Vue中,一个组件调用其他组件的方法(非父子组件)(vue中的组件)

  • 钉钉直播怎么开麦克风(钉钉直播怎么开摄像头)

    钉钉直播怎么开麦克风(钉钉直播怎么开摄像头)

  • 华为p40pro屏幕像素密度ppi是多少呢(华为p40pro屏幕感觉不清晰)

    华为p40pro屏幕像素密度ppi是多少呢(华为p40pro屏幕感觉不清晰)

  • 系统评价与meta分析的区别(系统评价与meta分析的关系)

    系统评价与meta分析的区别(系统评价与meta分析的关系)

  • 来电提醒是什么意思(来电提醒是什么业务是不是可以设置)

    来电提醒是什么意思(来电提醒是什么业务是不是可以设置)

  • 特殊字符指什么(特殊字符指什么数字)

    特殊字符指什么(特殊字符指什么数字)

  • 微信好友标签怎么删除(微信好友标签怎么删除不了)

    微信好友标签怎么删除(微信好友标签怎么删除不了)

  • 华为手机用电快是什么原因(华为手机用电快充电快怎么回事)

    华为手机用电快是什么原因(华为手机用电快充电快怎么回事)

  • 别人加我微信显示被加频繁(别人加我微信显示频繁)

    别人加我微信显示被加频繁(别人加我微信显示频繁)

  • 卡贴机呼叫失败能上网(卡贴机呼叫失败但是能接电话怎么回事)

    卡贴机呼叫失败能上网(卡贴机呼叫失败但是能接电话怎么回事)

  • 为什么微信红包领不了但已经实名认证了(为什么微信红包过了24小时没有退回来)

    为什么微信红包领不了但已经实名认证了(为什么微信红包过了24小时没有退回来)

  • office复制粘贴不能用(office不能复制粘贴怎么回事)

    office复制粘贴不能用(office不能复制粘贴怎么回事)

  • 畅玩5x支持电信物联卡吗(畅玩5x电信版)

    畅玩5x支持电信物联卡吗(畅玩5x电信版)

  • ipadair2有笔吗(ipadair2有手写笔吗)

    ipadair2有笔吗(ipadair2有手写笔吗)

  • 手机如何保存淘宝视频(手机如何保存淘宝商品视频)

    手机如何保存淘宝视频(手机如何保存淘宝商品视频)

  • ps怎么打竖着的字(ps怎么打竖着的书名号)

    ps怎么打竖着的字(ps怎么打竖着的书名号)

  • 流媒体格式有哪些(流媒体格式有哪些四种方式)

    流媒体格式有哪些(流媒体格式有哪些四种方式)

  • 九阳破壁机e19是什么意思(九阳破壁机E19是什么情况)

    九阳破壁机e19是什么意思(九阳破壁机E19是什么情况)

  • 什么是公开版手机(什么是公开版手机型号)

    什么是公开版手机(什么是公开版手机型号)

  • 华为mate30怎么设置搜狗输入法(华为mate30怎么设置屏幕永不休眠)

    华为mate30怎么设置搜狗输入法(华为mate30怎么设置屏幕永不休眠)

  • 手机字体怎么调大(手机字体怎么调整大小)

    手机字体怎么调大(手机字体怎么调整大小)

  • 苹果手机如何补电(苹果手机如何补开发票)

    苹果手机如何补电(苹果手机如何补开发票)

  • nbtstat命令的功能(nbu命令)

    nbtstat命令的功能(nbu命令)

  • 怎么在飞猪上添加乘车人信息(飞猪怎么上线)

    怎么在飞猪上添加乘车人信息(飞猪怎么上线)

  • 快手互推是什么意思(快手互推神器)

    快手互推是什么意思(快手互推神器)

  • wifi感叹号无法上网怎么回事(wifi感叹号无法上网是欠费吗)

    wifi感叹号无法上网怎么回事(wifi感叹号无法上网是欠费吗)

  • 千库网如何下载字体(千库网手机版怎么下载)

    千库网如何下载字体(千库网手机版怎么下载)

  • 海獭妈妈和新生的幼崽,加利福尼亚州蒙特雷湾 (© Suzi Eszterhas/Minden Pictures)(海獭妈妈和新生儿的故事)

    海獭妈妈和新生的幼崽,加利福尼亚州蒙特雷湾 (© Suzi Eszterhas/Minden Pictures)(海獭妈妈和新生儿的故事)

  • 织梦dedemcs升级最新版本技巧和升级后出现的问题解答(织梦系统)

    织梦dedemcs升级最新版本技巧和升级后出现的问题解答(织梦系统)

  • 年度纳税申报表A105000纳税调整项目明细表中,收入
  • 2023年印花税如何计算
  • 本年利润和利润分配未分配利润的区别
  • 算所得税要不要减去增值税
  • 4s店代办保险回扣
  • 个税为负数如何申报
  • 社保利息计入什么科目
  • 劳务有预付款吗
  • 房产税城镇土地使用税减免政策
  • 所得税汇算清缴账务处理
  • 项目部分回款是什么意思
  • 制造费用可以抵进项税吗
  • 公司组织客户旅游费用怎么做账
  • 退回其他单位服务费怎么入账?
  • 个税手续费退还时间
  • 出口退税征税
  • 上月未申报纳税补申报怎么做不会有罚款吗?
  • 汇算清缴应纳税所得额5万要交多少税
  • 个体工商户税收标准2023年
  • 增值税主要有三种类型
  • 营业部门人员工资用什么会计科目
  • 建筑发票怎么抵税
  • 工程结算审计费用谁承担
  • 汽车租赁公司产品服务
  • 员工高温补贴奖励怎么写
  • 生产型企业原材料运费入库单怎么填
  • 计提房屋租赁费的会计分录
  • 收到发票后补付什么意思
  • vue3的生命周期
  • phpsutdy
  • 什么是技术服务工程师
  • 代扣增值税如何做账
  • 非流动资产增加说明什么原因
  • 期初金额和期末金额怎么算
  • npm安装node指定版本
  • 语音语言
  • echo输出语句
  • 出口退税退运费的税吗
  • java泛型类和泛型方法
  • MySQL中用通用查询日志找出查询次数最多的语句的教程
  • c语言缺省值
  • 自查补税怎么做账
  • 财务会计该如何处理客户以个人账号转款到公司公账?
  • 小规模纳税人怎么开专票
  • 安置房是交付的时候交钱吗
  • SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
  • FreeBSD安装xfce4: 鼠标不能用
  • mysql创建数据库的操作步骤
  • 中小型企业营业额多少
  • 退个税需要提供哪些资料
  • 所得税交多了怎么留抵
  • 建筑工程机械费用标准
  • 企业前期开办的费用怎么做会计分录
  • 一般纳税人企业所得税税率多少
  • 记账凭证核算处理方法
  • 车船使用税必须每年都交吗
  • 运输公司汽车折旧能直接进主营成本吗
  • 增值税专用设备是什么
  • 付款后没有发票怎么办
  • 错帐的查找方法
  • 管理会计期末存货量怎么算
  • mysql查询分组后 组内数据
  • mysql 5.1.6
  • win8系统怎样查看本机的ip地址
  • 电脑的技巧
  • win10系统怎么将桌面路径改为d盘
  • Linux中QQ软件的安装和配置
  • Linux>=2.6.39 Mempodipper本地提权分析和EXP利用(CVE-2012-0056)
  • unity描边shader
  • 测试Qt Quick在各个平台上的3D渲染性能
  • js中||的用法
  • js调用键盘
  • javascript用什么运行
  • jquery input checked
  • 生猪屠宰行业
  • 交强险和车船税网上购买
  • 江苏省国税局局长是谁
  • 证券行业的税务问题
  • 国税总局17号公告
  • 财政部国家税务总局2021年40号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设