首页 新闻 会员 周边

javaweb项目修改密码出现问题,学生跪求大佬们帮助

0
悬赏园豆:10 [已解决问题] 解决于 2023-03-08 13:53

我跟着网课做的小项目,电商系统,问题出在修改密码上,我现在可以用“http://localhost:8080/users/change_password?oldPassword=xx&newPassword=xx”
实现修改密码,但一但在前端页面修改时,则会跳出提示原密码错误

xml:

控制层:

前端

错误:

真的跪求大佬了

问题补充:

补充:这是用链接直接访问的结果,正确,小白刚学,有没指出的可以问我

guo‘s的主页 guo‘s | 初学一级 | 园豆:195
提问于:2023-03-07 20:08

因为暂时自己解决了,所以结帖就给首个回答了(不知道是不是这么搞)

guo‘s 1年前
< >
分享
最佳答案
1

你把前端ajax请求type='POST' 改成'GET'
试试

收获园豆:2
智客工坊 | 老鸟四级 |园豆:2066 | 2023-03-07 22:31

还是原来的样子,不过谢谢

guo‘s | 园豆:195 (初学一级) | 2023-03-07 22:42
其他回答(4)
1

打断点,走一下,看是什么条件导致报这个错

收获园豆:2
人间春风意 | 园豆:2578 (老鸟四级) | 2023-03-08 08:16
1

请求方式不对。你链接能成功,是因为参数是直接在url后面拼接的get请求;而你的ajax却是post
改进方式一:统一为get请求,ajax的type=get,且ajax中的data参数全部拼接到url的连接后面;
改进方式二(推荐):统一改为post请求,即后端@RequestMapping(...)里面追加(method = RequestMethod.POST) 或者 直接改为@PostMapping

收获园豆:3
Ctrl` | 园豆:3317 (老鸟四级) | 2023-03-08 11:21
1

@RequestMapping("change_password")
public JsonResult<Void> changePassword(@RequestBody Map<String, String> params,
HttpSession session){
Integer uid = getUidFromSession(session);
String username = getUsernameFromSession(session);
String oldPassword = params.get("oldPassword");
String newPassword = params.get("newPassword");
userService.changePassword(uid,username,oldPassword,newPassword);
return new JsonResult<>(OK);
}

收获园豆:3
YF721 | 园豆:205 (菜鸟二级) | 2023-03-08 11:22
0

谢谢各位了,但我找到了问题原因(大概?)我删除了项目cookie,之后密码修改成功,所以报错应该是cookie信息与登录信息不匹配;
这个解决方法感觉很扯淡,毕竟cookie总会积累起来,以后说不定还会报这种错,不过我小白一个,项目能动就行了

guo‘s | 园豆:195 (初学一级) | 2023-03-08 13:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册