J'utilise Kohana PHP Framework pour une application. Maintenant, je rencontre un problème, quand jQuery fait une requête AJAX à un certain fichier, cela fonctionne, mais quand ce fichier lance une exception PHP, jQuery échoue et n'affiche pas la sortie du fichier.La requête jQuery AJAX échoue sur l'exception PHP
Un petit exemple, c'est le morceau de Javascript:
$.post($('#' + e.currentTarget.id).attr('action'), $('#' + e.currentTarget.id).serialize(), function (data)
{
alert (data);
}/*, 'json' */);
Maintenant, cela fonctionne lorsque le fichier PHP que cela (la zone d'alerte apparaît):
<?php echo 'Test'; ?>
Mais quand quelque part dans le fichier PHP cela se produit:
<?php throw new Exception ('Test'); ?>
jQuery échoue et ne montre pas l'erreur HTML émis, un LSO il y a une différence dans les en-têtes de PHP (généré par PHP?):
Avec l'écho PHP (bien):
. Connection:Keep-Alive
. Content-Encoding:gzip
. Content-Length:544
. Content-Type:text/html; charset=UTF-8
. Date:Wed, 22 Jul 2009 14:22:43 GMT
. Keep-Alive:timeout=15, max=100
. Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
. Vary:Accept-Encoding
. X-Powered-By:PHP/5.2.6
À l'exception de PHP (échec):
. Connection:close
. Content-Encoding:gzip
. Content-Length:1896
. Content-Type:text/html; charset=UTF-8
. Date:Wed, 22 Jul 2009 14:23:11 GMT
. Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
. Vary:Accept-Encoding
. X-Powered-By:PHP/5.2.6
maintenant Je ne vois pas vraiment de problème, à la fois en PHP et en HTML. Quelqu'un a déjà eu ce problème, et comment avez-vous résolu cela?
Merci pour l'aide!
Quel est votre niveau error_reporting fixé à PHP?Si ce n'est pas configuré pour afficher des exceptions (bien que cela devrait être le cas), vous ne verrez aucune sortie. – inkedmn
Il affiche des erreurs, lorsqu'une exception est levée, il affichera toute la trace (HTML) en tant que message d'erreur. Et si PHP ne montre pas d'erreurs (ce qu'il fait), Javascript vu de manière logique devrait apparaître une boîte d'alerte vide? – Stefan