我们说我有一个指向以下页面的链接:
<a class="ui-btn" data-transition="slide" href="/Stuff/Properties/Q6158">Properties for Q6158"</a>
通常情况下,我希望此页面滑入视图,因此data-ajax将默认为&#34; true&#34;这很好用。但是,如果在服务器端,会发生某些事情导致我反而想要重定向到另一个页面,而不是使用ajax加载它?换句话说,用户的会话已过期,我想重新加载整个登录页面,而不是将其滑入视图而不是请求的页面。希望这是有道理的。
我意识到,当请求到达服务器并且它发现会话已经消失时,更改请求已经太晚了,它已经由jQM制作了。我想我可以自己处理链接的点击并处理自定义&#34;重定向&#34;手动响应,但这似乎过于繁琐,因为基本上每个链接都受此影响。
所以我没有想法。我真的希望此时完全重新加载整个登录页面。任何想法都会有所帮助!谢谢!
答案 0 :(得分:1)
在服务器端,您可以控制会话,在ajax调用中,如果会话已过期,则返回404错误。
在jQuery Mobile中有一个名为&#34; pageloadfailed&#34;的事件。当页面加载失败时触发。在那里你冷重定向到你的登录页面。
$( document ).on( "pageloadfailed", function( event, data ) {
event.preventDefault();
//redirect to your login page
});
希望有效。
答案 1 :(得分:0)
我最后介绍了第三页。我返回此页面,我打电话给#34;正在加载&#34;当会话到期时。所有页面都显示&#34;正在加载,请稍候...&#34;并立即将location.url设置为pageinit中的登录页面,导致登录完全重新加载。到目前为止,对于我的特殊情况似乎运作良好。但感谢其他建议!