我的主要问题在底部以粗体显示。我很乐意回答这个问题,但如果您想帮我解决其余问题,请继续阅读。
我正在开发一个Web应用程序,其会话过期由Spring后端处理(它是默认的Tomcat 30分钟会话到期时间)。如果您已登录该应用程序,然后键入' www.myapplication.com/portal/logout' (不是真正的URL,obv。)您已注销并重定向到登录页面。大。但是,如果你设置
window.location = 'http://www.myapplication.com/portal/logout'
在客户端javascript中,该url出现在浏览器的url栏中,但是得到了whitelabel错误页面,该页面由后端上的其他服务生成。
为什么在代码中键入url与设置window.location之间有区别?应该有区别吗?或者你认为这个其他服务是否具有重定向功能?如果是这样,为什么键入url时不会出现相同的错误?
PS。我也尝试了window.location.href = url和window.location.replace(url),效果相同。
答案 0 :(得分:2)
你应该尝试:
window.location.assign(url);
答案 1 :(得分:0)
设置window.location
是一个常见错误。 location
对象有一个名为assign
的函数,它将打开一个新位置。
请尝试使用以下内容:
window.location.assign('http://www.myapplication.com/portal/logout')
您还可以使用open()
对象的window
功能。
window.open( 'http://www.myapplication.com/portal/logout')