我正在实施“忘记密码”功能。我正在使用 Spring MVC 和 Ajax,但是当我想使用令牌 url 通过 Ajax 调用 spring 控制器方法时遇到了一些麻烦。我的代码是这样的:
弹簧控制器
@RequestMapping(value="/resetPassword/{token}", method = RequestMethod.POST)
public @ResponseBody String doResetPassword(@PathVariable("token") String tokenID,
@RequestParam String newPassword, HttpServletRequest request) { ... }
令牌是用户请求重置密码并通过电子邮件获得临时链接时随机生成的唯一 ID,该链接将他/她重定向到重置密码页面。
阿贾克斯函数
$.ajax({
type: "POST",
url: "./resetPassword/" + token,
data: "newPassword=" + password,
async: false,
success: function(response){
...
当我进行 Ajax 调用时,我收到404 Page Not Found错误。
注意: URL 格式有效。我已经使用了./
显示重置密码表单的控制器方法的其他 Ajax 功能,如下所示:
@RequestMapping(value="/resetPassword/{token}")
public String showResetPasswordPage(Model model, @PathVariable("token") String token){
model.addAttribute("token", token);
return "account/resetPassword";
}
当用户实际单击按钮(输入新密码后)时,先前的请求方法会出现问题。