12
votes

Quelle est la meilleure façon de déboguer AJAX aux appels PHP?

Je vais avoir un temps misérable débogage d'une petite fonction sur mon nouveau projet.

essentiellement, je dispose d'un utilisateur déconnectez-vous via un appel AJAX à mon script de déconnexion sur mon serveur appelé "userffcunctions.php" J'utilise ajax afin que je n'ai pas le mal de tête d'écrire plus de regregy mon mod_rewites. Quoi qu'il en soit, de tous ces temps, il semble que mes données post-puissance ne meurent pas et que le PHP fonctionne dans les coulisses, je me sens comme si je n'avais aucun moyen de découvrir où le flux de données est perturbé. BTW Cette fonction fonctionne 19 heures de la journée. P>

Voici la fonction JavaScript: p> xxx pré>

le côté PHP: P>

if(isset($_POST['log_out'])){
     echo 'alert this!';
}


0 commentaires

5 Réponses :


8
votes

Essayez d'utiliser quelque chose comme le plugin Firebug pour Firefox ou les outils de développement en Chrome, pour examiner la demande d'envoi.


4 commentaires

En plus de FirephP afin que vous puissiez déboguer le code PHP dans la même fenêtre Firebug


Je ne suis pas parfaitement sûr de quoi rechercher dans la demande d'en-tête ... quoi que ce soit en particulier?


Ne regardez pas les en-têtes - Regardez pour voir si les variables postales sont réellement passées correctement, et si le résultat renvoyé est correct. Ensuite, vous pouvez affiner la question à l'une quelconque du côté client, ou une du côté serveur.


Pardonnez mon naïveté, mais où trouvai-je ceux du débogueur? ... trouvé ça! Cela ne se montait pas auparavant, mais maintenant c'est ... Je n'ai rien changé (Grombour Grombold) ... Merci pour votre contribution.



2
votes

Avez-vous essayé de définir le type DataType code> vers "texte" code>?

print_r($_POST);


1 commentaires

J'ai essayé cela, la vérité est que je ne cherche pas vraiment à la recherche d'une réponse textuelle, j'utilise simplement la réponse comme un moyen de déboguer, dans la fonction PHP, je réellement nul biscuits et sessionné_destroy, puis sur la réussite actualisée la page avec JavaScript.



0
votes

J'ai remarqué: XXX

Lorsque vous faites une Redirection (en-tête ("Emplacement:");) Vous perdrez votre $ _Post et $ _BET Data . (Si vous parlez d'une URL réécrite (avec mod_rewrite), vous devez recevoir les données.)

mais cela n'explique pas le symptôme de 19hr. < / p>


1 commentaires

Je vous remercie de votre réponse, c'est en fait une réécriture et non une redirection.



0
votes

Vous pouvez essayer de vérifier le tableau $ _Post lui-même, avec quelque chose comme ceci: xxx

Voir si le tableau est même peuplé du tout, puis travaillez à partir de là. Utilisation de Firebug, vous pouvez également confirmer si le poste AJAX envoie vraiment des données (cochez la console ou les onglets Net).


0 commentaires

9
votes

FirephP :

FirephP vous permet de vous connecter à votre Console Firebug en utilisant un PHP simple Appel de méthode.

Toutes les données sont envoyées via des en-têtes de réponse et n'interférera pas avec le Contenu sur votre page.

FirephP est idéal pour Ajax Développement où nettoyez JSON et XML Les réponses sont nécessaires.

Voici une implémentation minimaliste que j'ai écrite: xxx

Je l'ai écrit pour que cela ne fonctionne que sur localhost (pour des raisons de sécurité), mais vous pouvez facilement Changez que, en remplaçant le code suivant: xxx

avec: xxx


2 commentaires

Merci beaucoup pour cela! Grande approche.


@Jascha: Pas de problème, il y avait une faute de frappe dans la fonction que j'ai fournie - elle est réparée maintenant. =)