我对POST请求有一些问题。 当用户单击logIn按钮时,页面(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'否则请求是'代码:200 Ok'。
为什么会发生这种情况,在成功授权后我可以做什么,浏览器会在当前标签中打开响应。
答案 0 :(得分:1)
我的评论中包含答案,但在此回答您可以关闭此问题。
看起来你设置了"目标"将表单上的属性归结为您不想要的内容。更改或删除属性,事情会变得美好。