2013-09-24 16 views
0

我有一个移动应用程序,我试图强制重定向到401 ajax调用的登录页面;然而,似乎正在发生的事情是,jQM正在尝试通过AJAX加载此请求时发送。设置window.location.href与Chrome和jQuery的手机将尝试加载通过ajax

这适用于safari和firefox设备,但不适用于Chrome,但尚未在IE设备上测试。

$(function() { 
    $.ajaxSetup({ 
    statusCode: { 
     401: function() { 
     console.debug("User is not authenticated"); 
     window.location.href = core.getUrl('/login'); 
     } 
    } 
    }); 
}); 

UPDATE:意味着它不能在Chrome浏览器,火狐实际上是好的。

+1

我认为window.location.href在jQuery mobile中不起作用,您是否尝试使用某种changePage()而不是ajax?或document.location.href而不是窗口?这里有一些话题:http://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/ http://forum.jquery.com/topic/mobile -changepage-and-rel-external – zyrex

+0

zyrex,'document.location.href'似乎已经解决了这个问题。 –

+0

给它至少一个感谢:D – zyrex

回答

0

我在你的ajax调用中没有看到任何问题。但我认为在core.getUrl('/ login')中存在问题;你可以打印出core.getUrl('/ login');产生?

+0

'core.getUrl('/ login')'工作正常,并获取'http:// localhost:8084/context23/login'。我可以看到它在Firebug调试器中工作正常,通过jquery检索实际页面,而不是正在更改的实际页面,正在加载正确的页面内容。 –

+0

尝试加入location.reload();在window.locaiton.href之后。 – Laxman