在jQueryMobile中禁用HTTP 302上的ajax

时间:2017-05-19 09:10:12

标签: ajax jquery-mobile silex http-status-code-302

在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加载。

提前感谢您的想法和建议......

1 个答案:

答案 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'));
   }
});