response.sendRedirect不跳转的原因可以归纳为(其中第三点是我遇到的问题):
前人经验:
-
- 在使用response.sendRedirect时,前面不能有HTML输出;
- 在response.sendRedirect之后,应该紧跟一句return;
我的经历:
- 请求参数中含有特殊字符也会影响response.sendRedirect的跳转,比如中文、特殊字符之类的,最好的办法是前端进行URL转码就没问题了。
我是在postman测试中发现这个问题的,同样的项目,不同的接口,我发现有的接口请求中可以跳转,有的跳转不了;
对于跳转不了的接口,我通过对比发现去掉请求参数中的“中文”值后可以跳转,然后加上“中文”值之后不能跳转;
然后我就对“中文”字符进行URL转码,我发现就可以跳转了。至于原因我想不出来,哪位大神可以解释一下,不知有没有和我遇到同样问题的同伴。