完美解决form表单中提交Ajax请求不进入回调方法无法接收返回的任何数据

在实现注册功能时,遇到Ajax提交表单无法进入回调方法接收后台返回数据的问题。通过检查发现,问题可能在于请求被发送了两次,第一次是由于表单的默认提交行为。解决方案是取消submit按钮的默认事件,防止表单直接提交,确保数据通过Ajax正确发送和接收。
摘要由CSDN通过智能技术生成

问题描述

做了个简单的注册功能 提交用户名和密码信息到后台 后台返回status 很简单的逻辑
然而令我疑惑的是 在前台的ajax一直无法接收到后台返回的数据 无论是success回调还是error回调
刚开始还以为是不是类型转换的问题 于是乎进行JSON转换 但转来转去依旧无法解决 因为压根没进入任何回调函数
折腾了一天了 包括后台的@RequestBody注解、@RequestParam注解、@PostMapping注解的produces属性和前台的dataType属性和Content-Type属性全都换了个遍 但问题依旧
由于我是用mui的ajax提交的 甚至换成了原生js来发送ajax 但问题还是一样出现…
经过我的反复测试 问题是时有时无 有几次是注册失败时能正常返回数据 注册成功时又无法返回了🙄

原因

看了一篇博客后很有启发 可能是请求了两次
想起偶然在一次测试中 后台返回的数据是两条 可我明明只点击了一次按钮 更加印证了我的判断

我的表单是这样的:

<form id="form">
	<input type="text"  placeholder="用户名"/>
	<input type=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值