SpringBoot项目后端重定向的问题

       最近在做一个单点登录功能,单点登录成功之后跳转到我们的页面,单点登录失败之后跳转到我们的登录页面,顺便将错误信息返回给我们的登录页,并将错误信息显示出来。如下图所示的样子:

解决方式一
       后端代码进行重定向的时候我们可以将需要的信息拼接在URL后面:

 response.sendRedirect(LOGIN_URL + "?error=999");

       中文信息并没有拼接到URL中,中文在URL中会被转码,导致URL不够美观。前端页也需要对应正确的转码才能显示出正确的中文信息。
       前端需要写一个js轮询URL中是否有error这个参数,有的话将根据不同的error显示不同的错误信息,没有的话,就不显示。

解决方式二
       后端代码进行重定向的时候我们将相关信息放入header中:

 response.setHeader("error", "-1");
 response.setHeader("msg", URLEncoder.encode(msg, "UTF-8"));
 response.sendRedirect(LOGIN_URL);

       这种重定向到登录页面后,我们可以在HTTP响应的Header中获取到相对应的信息。不过相对应的,还是需要前端那边做相对应的处理的。

       现在所做的项目都是前后端分离,前端和后端的交流是只能通过接口进行交流。目前我只知道这两种比较简便的方式。如果大家有更好的方式可以告诉我,我们可以交流一下。

原文:https://blog.csdn.net/qq_33704186/article/details/105175573

猜你喜欢

转载自blog.csdn.net/Aplumage/article/details/120890258