Spring MVC,对 post 请求的正确响应
Spring MVC, correct response to post request
我的 POST 请求有问题。
当用户点击登录按钮时,页面 (localhost:8080/) 发送到服务器 POST 请求 (localhost:8080/authorization)。如果授权不成功,则浏览器将在新选项卡中打开获取页面!!!!
我不明白为什么会这样,因为如果授权成功,那么浏览器只会更新当前选项卡。
我的控制器是
@RequestMapping(value ="/authorization", method = RequestMethod.POST)
public String authorization(@ModelAttribute(AUTH_USER)
@Valid AuthorizationForm authData, BindingResult result,
Model model){
if(result.hasErrors()){
model.addAttribute(REG_USER, trUserService.getSignUpDTO());
return "index";
}
if(!securityService.logIn(trUserService.getUser(authData),
authData.getPassword())){
result.rejectValue("password", "v.registrationform.password.notfound");
model.addAttribute(REG_USER, trUserService.getSignUpDTO());
return "index";
}
return "redirect:/";
}
我还注意到,当登录成功时,服务器发送请求代码:'302 Found',否则请求为 'Code:200 Ok'。
为什么会发生这种情况以及在成功授权后浏览器会在当前选项卡中打开响应我该怎么办。
我的评论包含答案,但在此处回答以便您可以关闭问题。
您似乎将表单上的 "target" 属性设置为您不想要的内容。更改或删除属性,一切都会变得美好。
我的 POST 请求有问题。 当用户点击登录按钮时,页面 (localhost:8080/) 发送到服务器 POST 请求 (localhost:8080/authorization)。如果授权不成功,则浏览器将在新选项卡中打开获取页面!!!! 我不明白为什么会这样,因为如果授权成功,那么浏览器只会更新当前选项卡。
我的控制器是
@RequestMapping(value ="/authorization", method = RequestMethod.POST)
public String authorization(@ModelAttribute(AUTH_USER)
@Valid AuthorizationForm authData, BindingResult result,
Model model){
if(result.hasErrors()){
model.addAttribute(REG_USER, trUserService.getSignUpDTO());
return "index";
}
if(!securityService.logIn(trUserService.getUser(authData),
authData.getPassword())){
result.rejectValue("password", "v.registrationform.password.notfound");
model.addAttribute(REG_USER, trUserService.getSignUpDTO());
return "index";
}
return "redirect:/";
}
我还注意到,当登录成功时,服务器发送请求代码:'302 Found',否则请求为 'Code:200 Ok'。
为什么会发生这种情况以及在成功授权后浏览器会在当前选项卡中打开响应我该怎么办。
我的评论包含答案,但在此处回答以便您可以关闭问题。
您似乎将表单上的 "target" 属性设置为您不想要的内容。更改或删除属性,一切都会变得美好。