vue前端访问ssm框架的controller后端,后端没有反应,vue前端浏览器报400的错

博客主要讲述Vue前端报400错误的相关情况。通过console测试值,发现bookDate值为毫秒数,去掉该属性后可正常修改。错误主因是前端传到后端对象的数据类型不匹配。解决办法是只传对象id到后端查询对象,若需传时间,可在请求前将数据转化为后端能接受的格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误显示

错误原因

寻找错误的思路
首先要先测试出这边的值是否得到了,我就在调用这个方法之前console测试是否有得到这个值,
在这里插入图片描述
事实证明我是得到了这个值,而且所有的值都有输出
在这里插入图片描述
后面又仔细的看了看,发现bookDate的值不太对劲,是一个毫秒数,我就觉得这个在传值的时候会出错
然后我就把这个属性给去掉了,然后便发现这个是能正常修改

所以就找到了这个前端报400的主要原因,就是前端传到后端对象的数据类型后端没有对应的数据类型相匹配,就会报这个400的错,也就是请求出错

解决的方法

首先得明确自己这个举动的目的是干嘛
我在调用这个操作的时候,主要是想把对应的对象查询出来,所以我只需要把这个对象的id传到后端即可,我就能查询到这个这个对象,并且用这个对象来操作

修改之后
在这里插入图片描述
console输出的结果
在这里插入图片描述

小结一下

出现这个问题的主要原因就是没来及把jvue前端的数据类型转化为ava后端能接受的数据,所以没有进后端就会出现请求出错,如果说必须要把这个时间再次传到后端去使用的话,那就可以添加这样的一个方法
在请求到后端之前把这个数据转化为后端能接受的一个数据
下面这个方法是将前端的得到的毫秒数变成日期格式的方法

this.form.orderDate = c.getFullYear() + "-" + (c.getMonth() + 1) + "-" + c.getDate() + " " + c.getHours() + ":" +
					c.getMinutes() +
					":" + c.getSeconds()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值