在jQueryMobile中,有没有办法在服务器响应HTTP 302时禁用ajax页面加载?
我在此页面上有一个具有特定javascript库的登录页面(mydomain.tld/login
)(仅在此页面上)。当用户登录并且会话过期时,当用户尝试访问新内容(mydomain.tld/mycontent
- > mydomain.tld/login
)时,Silex框架会将用户重定向到登录页面。正常。
问题:加载登录页面失败,因为jQueryMobile尝试使用ajax加载此页面,因此未加载登录页面的特定JS库(jQueryMobile仅将页面内容插入DOM),因此登录页面未能没有这个库就初始化......
出于效率原因,我不想在所有页面上加载此特定库(此库在登录时很有用,在网站的其余部分都没用)。
我真的不想禁用所有网站的ajax页面加载...
有没有办法在服务器响应HTTP 302或禁用特定页面的ajax(mobileinit中的param?)时禁用ajax加载。
提前感谢您的想法和建议......
答案 0 :(得分:0)
或者您可以在路线前禁用请求:
$app->before(function(Request $request, Application $app)) {
if ($request->isXmlHttpRequest() && $request->headers->get('User-Agent') == 'mobile header') {
return $app->json(array('error' => 'Authentication failed'));
}
});