强制数据-ajax =" false"在重定向或某个页面加载

时间:2014-11-24 14:47:31

标签: jquery-mobile

我们说我有一个指向以下页面的链接:

<a class="ui-btn" data-transition="slide" href="/Stuff/Properties/Q6158">Properties for Q6158"</a>

通常情况下,我希望此页面滑入视图,因此data-ajax将默认为&#34; true&#34;这很好用。但是,如果在服务器端,会发生某些事情导致我反而想要重定向到另一个页面,而不是使用ajax加载它?换句话说,用户的会话已过期,我想重新加载整个登录页面,而不是将其滑入视图而不是请求的页面。希望这是有道理的。

我意识到,当请求到达服务器并且它发现会话已经消失时,更改请求已经太晚了,它已经由jQM制作了。我想我可以自己处理链接的点击并处理自定义&#34;重定向&#34;手动响应,但这似乎过于繁琐,因为基本上每个链接都受此影响。

所以我没有想法。我真的希望此时完全重新加载整个登录页面。任何想法都会有所帮助!谢谢!

2 个答案:

答案 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中的登录页面,导致登录完全重新加载。到目前为止,对于我的特殊情况似乎运作良好。但感谢其他建议!