Je travaille sur un formulaire de connexion/déconnexion AJAX. La connexion fonctionne bien, mais quand quelqu'un clique sur "se déconnecter", j'ai quelques problèmes.Ajax/PHP .post, et .load ne renvoient aucune donnée
Javascript:
$("#logout").live("click", function(){
$.post("/hd/ajax.php",{ logout: "1" }, function(data) {
alert(data);
});
});
ajax.php:
if(isset($HTTP_POST_VARS['logout']) && $HTTP_POST_VARS['logout'] == 1)
{
$this->auth = false;
$this->un = false;
$this->id = false;
setcookie ($this->cun, "", 1, "/", $this->chn, 0);
setcookie ($this->cpw, "", 1, "/", $this->chn, 0);
echo "1";
return 1;
}
Lorsque vous cliquez dessus, la demande est envoyée et l'utilisateur est connecté très bien. L'alerte (données) ne renvoie rien, même si la fonction PHP renvoie le "1"
J'ai posté sur l'ajax.php manuellement, et je reçois le texte "1" venant à mon navigateur.
Je viens juste de remarquer que si je supprime le alert() du callback, l'utilisateur n'est pas réellement déconnecté via le script PHP appelé. Je dois alerter (données) pour que l'utilisateur soit déconnecté. La seule chose que je peux penser est que j'envoie des informations d'en-tête (effacement des cookies) dans le fichier PHP avant que les données ne soient retournées. Est-ce correct? Ou est-ce la cause de mes problèmes? J'ai l'impression qu'il me manque quelque chose d'évident, s'il vous plaît laissez-moi savoir si oui.
Avez-vous vérifié qu'une demande AJAX est envoyée et que le serveur a renvoyé le résultat correct? Vous pouvez utiliser FireBug pour cela. –
Quelles sont les raisons pour lesquelles vous utilisez '$ HTTP_POST_VARS ['logout']' au lieu de '$ _POST ['logout']'? – DrColossos