重定向到另一个页面在javascript中不起作用

发布于 2024-10-07 03:21:29 字数 684 浏览 2 评论 0原文

大家好。在我的 MVC 应用程序中,我尝试重定向到登录页面,但它没有重定向,并且我收到“服务器错误”。

这是 javascript:

<script type="text/javascript"> 
function keepAlive() { 
window.clearTimeout(window.sessionKeepAlive); 
window.sessionKeepAlive = window.setTimeout(function() { 

    if(confirm('refresh session?')) { 
        // submit coding required 
    } else { 
        //window.location="/Employee/~/Account/LogOn"
        //location.replace("/Employee/~/Account/LogOn");
        window.location.href = '<%= Url.Action( "Logout", "Account" ) %>'; 
    } 

}, <%= (Session.Timeout - 19) * 60 * 1000 %>); 
} 
keepAlive(); 
</script>

另外,我需要用户按下“确定”按钮并继续的代码。

Hi folks. In my MVC application, I am trying to redirect to a login page, however it is not redirecting and I am getting a "server error".

Here is the javascript:

<script type="text/javascript"> 
function keepAlive() { 
window.clearTimeout(window.sessionKeepAlive); 
window.sessionKeepAlive = window.setTimeout(function() { 

    if(confirm('refresh session?')) { 
        // submit coding required 
    } else { 
        //window.location="/Employee/~/Account/LogOn"
        //location.replace("/Employee/~/Account/LogOn");
        window.location.href = '<%= Url.Action( "Logout", "Account" ) %>'; 
    } 

}, <%= (Session.Timeout - 19) * 60 * 1000 %>); 
} 
keepAlive(); 
</script>

Also, I need the code for if the user presses the 'ok' button and it continues.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笔芯 2024-10-14 03:21:29

就我而言,我更喜欢在中添加 web.config 的完整路径链接

<appSettings>
    <add key="BaseURL" value="http://localhost/" />
</appSettings>

,并在 Global.asax 中声明应用程序变量

protected void Application_Start()
{
    Application["BaseURL"] = System.Configuration.ConfigurationManager.AppSettings["BaseURL"];
}

,现在我可以在整个站点中使用这些变量。在你的情况下,你可以简单地使用

window.location.href = '<%=Application["BaseURL"]%>account/logout';

In my case, I prefer to add the full path link to web.config in

<appSettings>
    <add key="BaseURL" value="http://localhost/" />
</appSettings>

And declare an application variable in Global.asax in

protected void Application_Start()
{
    Application["BaseURL"] = System.Configuration.ConfigurationManager.AppSettings["BaseURL"];
}

And now I can use the variables in the whole site. In you case, you can simply use by

window.location.href = '<%=Application["BaseURL"]%>account/logout';
沧笙踏歌 2024-10-14 03:21:29

确保您重定向到的位置包含协议,即

window.location.href = 'http://www.yoursite.tld/account/logout';

对于第二位,您可以对心跳页面进行 ajax 调用以刷新会话

// simplified
try {
    var xhr = new XMLHttpRequest();
} catch( e ) {
    var xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

xhr.open( 'get', 'http://heartbeat/url', true );
xhr.send( null );

Make sure that the location you're redirecting to includes the protocol i.e.

window.location.href = 'http://www.yoursite.tld/account/logout';

For the second bit you can make an ajax call to a heartbeat page to refresh the session

// simplified
try {
    var xhr = new XMLHttpRequest();
} catch( e ) {
    var xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

xhr.open( 'get', 'http://heartbeat/url', true );
xhr.send( null );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文