2010-07-04 3 views
0

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.

+0

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. –

+0

Quelles sont les raisons pour lesquelles vous utilisez '$ HTTP_POST_VARS ['logout']' au lieu de '$ _POST ['logout']'? – DrColossos

Répondre

0

La seule chose que je dirais est peut-être essayer de faire:

return "1" 

La demande ajax utilise le renseignement pour essayer de comprendre le type de données de retour et il pourrait y avoir un problème car il est pas une chaîne et non json ou html.

Questions connexes