SSM Controll无法跳转页面
近期在使用SSM框架写一个前端,由于太久没有写前端的代码了,所以导致有点生疏,很多本该会的都忘了。写下这篇博客,以提醒自己,**一日不打代码,荒废一月功。**
在编程过程中,遇到了在controll 中返回的路径无法跳转,经过调试后发现,问题是在该Controll中有@ResponseBody.
@ResponseBody的作用是将Controll中的返回值以JSON的格式返回至前端。所以不能通过如:return "Login" 来使页面跳转至Login.jsp中。
在更改后的代码,去掉了@ResponseBody后,页面依旧无法跳转,原因是因为前端页面是通过AJAX发起的请求。通俗的理解,AJAX是介于服务器和浏览器的一个中间人,所以我们返回的跳转路径无法返回到浏览器使其跳转页面。
想要解决这个问题,有两个办法,一是通过在AJAX体里面通过window.location.href = result 来实现路径的跳转,二是取消用AJAX发起请求,使用HTML自带的form标签的ACTION属性来发起请求。
以上。