Un petit pense bête pour moi-même qui peut servir à d'autres :
jQuery rend les requêtes Ajax
enfantine, et on peut passer notre temps gagné à jouer un peu avec les en-têtes
HTTP. Que faire quand le contenu récupéré ne correspond pas à ce que l'on
souhaitait (erreur de base de donnée, 404,...). Par exemple, une session PHP
suivie d'un certain temps d'inactivité et voila votre visiteur qui se retrouve
avec un formulaire d'identification la où il ne devrait pas être... Il y a
sûrement plus élégant, mais une redirection me paraît bien
appropriée :
Le code javascript :
$.ajax(
{
method: "get",url: "index.php",data: "param="+valeurParam,
beforeSend: function(){ $("#chargement").show();},
complete: function(xmlHttp) {
$("#chargement").hide();
if (xmlHttp.status == 204)
top.location.href = 'indentification.php';
},
success: function(html) {
$("#resultat").html(html);
$("#resultat").show();
}
});
La partie PHP :
// Si $_GET['param'] et pas de session :
header("HTTP/1.0 204 No Content"); // true, 204);
die();
Si la requête aboutie sur un code 204 , alors on redirige l'utilisateur vers le formulaire
d'identification.
Derniers commentaires