expiration de session et AJAX
Dans les logs JS, on trouve plusieurs erreurs de ce genre :
2018-05-18 16:36:50 - 147.171.32.9 - POST /functions_php/diverse_ajax.php?func=logError - error: Error: Syntax error, unrecognized expression: #labdoc_<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
[...]
<div id="page-alerts"><div class="alert alert-warning">Votre session a expiré. Merci de vous reconnecter.</div></div>
[...]
</html>
TRACE: http://labnbook.fr/libraries/jquery/jquery-2.2.1.min.js?v=304c81a895518995a8e28d8a21b0c743 line 2 > eval:2
Le problème est que le navigateur reçoit cette réponse HTML alors qu'il avait envoyé une requête AJAX. Dans le cas ci-dessus, la réponse AJAX devait être un nombre. Il faudrait que les expirations de sessions renvoient toujours un code HTTP non-OK (peut-être 403 non-autorisé ?).
Le problème est qu'avec le comportement actuel de LabNbook, cela déclenchera une alerte JS intrusive et répétitive. Malheureusement, l'événement global jQuery en cas d'erreur AJAX est déclenché après l'événement local, cf doc, sinon on aurait pu intercepter globalement les erreurs de sessions expirées. À défaut de stratégie globale, il faudrait déterminer le comportement attendu (alerte bloquante ? message web ? redirection auto ?).
Éventuellement, détecter les entêtes AJAX pour ne pas renvoyer du HTML dans ce cas.