我的处境:
我的问题是:
myApp.nocache.js,此get请求的响应是302 : Redirect,但是重定向失败(仅显示一个白色的空页面),原因是javascript SyntaxError: expected expression, got '<'。脚本myApp.nocache.js在外部页面(我的SSO身份验证页)上执行,并失败我不明白当浏览器缓存关闭时,它为什么工作,并且当启用导航器缓存时,我无法避免javascript的执行。
有人能帮我吗?
发布于 2015-10-15 09:24:57
我用肮脏的方法解决我的问题:
在检查身份验证的筛选器中,如果必须重定向到外部登录页面,如果请求的资源是javascript,则执行javascript重定向:
public void redirigeVersPortail(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String uriPortail) throws IOException {
if ((httpServletRequest != null) && (httpServletRequest.getRequestURI().contains(".js"))) {
httpServletResponse.setContentType("application/javascript");
httpServletResponse.getWriter().println("window.location = \"" + uriPortail + "\";");
} else {
httpServletResponse.sendRedirect(uriPortail);
}
}这对我有用,但如果你有更好的方法正确地做重定向在任何情况下,我会接受它。
本文列出了其他解决方案:.nocache.js file loaded properly
https://stackoverflow.com/questions/33126306
复制相似问题