首页 > 解决方案 > Thymeleaf 在从 post 调用中获取重定向请求后未呈现 HTML 页面

问题描述

我有一个要求,要求我从 post call 重定向到一个新的 URL。这是通过从 post 到新的 get 调用的 URL 重定向来完成的。我thymeleaf用来渲染HTML.

问题是,虽然重定向(从 post 到 get)正在发生,但新的 HTML(在 get 调用中)没有被呈现。

@RequestMapping(value = "/updateUser", method = RequestMethod.POST)
public String updateUser(@RequestBody User user){
    /*validations*/
    return "redirect:/Table";
}


@RequestMapping(value = '/Table', method = RequestMethod.GET)
 public String updateTable(){
     return "newPage";
}

即使重定向成功(通过网络调用确认),newPage.html也不会被呈现。我不明白这里做错了什么,也没有ERRORWARN日志。

标签: javaspring-bootcontrollerthymeleafurl-redirection

解决方案


我发现我错在哪里了!!!

我正在通过 ajax 进行后期调用,这阻止了重定向。我从表单操作中拨打了电话,并认为效果很好。

如果您想坚持使用 ajax,则需要在成功调用后进行重定向以确保正确重定向

$ajax{ 
  method : "POST",
  url: url,
  data: data,
  success: // write redirection code here
}

我在发布问题时错过了这个细节,所以我想我会把事情弄清楚。


推荐阅读