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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值