设置window.location与输入url?

时间:2015-09-25 21:17:46

标签: javascript

我的主要问题在底部以粗体显示。我很乐意回答这个问题,但如果您想帮我解决其余问题,请继续阅读。

我正在开发一个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),效果相同。

2 个答案:

答案 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')