Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-07-2010 15:46:37

allserv
Nouveau membre
Date d'inscription: 04-05-2010
Messages: 2

Gestion des erreurs ajax en JSON et page par défaut de apache

onjour a tous,

Je viens sur ce forum car cela fait plusieurs jours que je me bat sur la façon de traiter mes erreurs AJAX de façon propre.

J'utilise le framework Zend pour développer le site web et la librairie javascript jquery. J'envoie ma requête Ajax à mon controlleur qui fait ses traitements. Durant cette période je catche les exceptions à l'aide d'un try/catch.

Je souhaiterais pouvoir renvoyer mon propre message d'erreur via JSON. Cependant pour que Query puisse interpréter mes messages d'erreurs il faut que le code http renvoyé par le serveur soit différent de 200. Lorsque je set mon exception dans mon objet réponse, cette valeur est automatiquement renvoyée.

Cependant il renvoie aussi toute la page d'erreur Apache par défaut pour le code 500. Du coup mon message JSON est incompréhensif par le code js.

Quelqu'un aurait une piste pour gérer au mieux ce genre de situation ?

Merci d'avance

Louis

Hors ligne

 

#2 16-07-2010 18:45:04

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Gestion des erreurs ajax en JSON et page par défaut de apache

tu as un autre problème
car si tu catch ton exception
il n'y a aucun envoie de code d'erreur apache qui soit généré

le traitement continu normalement
les codes d'erreurs surviennent justement lorsque les erreur ne son pas traitées.

donc normalement un echo de json encode suffit
A+JYT

Hors ligne

 

#3 17-07-2010 09:27:09

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Gestion des erreurs ajax en JSON et page par défaut de apache

Salut,

Je pense que tu as un problème que beaucoup de dév. rencontrent ces derniers temps avec Zend Server 5 et apache.

Dès qu'on set un code de réponse autre que 200, apache retourne en plus son propre message d'erreur html sur la sortie (même pour le code 201).

Je n'ai toujours pas trouvé la raison aujourd'hui, avec les versions 4 de ZendServer je n'avais pas ce problème.

J'ai beau fouiller, traquer les ErrorDocument, les extensions, comparer les deux configs, je ne trouve rien, et je ne suis pas le seul. Malheureusement tu n'auras pas de réponse à cette question (s'il s'agit bien du même pb), sur tous les forums, personne ne sait répondre (zf, zend, nabble, etc. sans succès).

http://www.z-f.fr/forum/viewtopic.php?id=4837
http://zend-framework-community.634137. … 74698.html
http://forums.zend.com/viewtopic.php?f= … ent#p22232

(d'autres topics sans réponse tournent autour du sujet)

La seule solution temporaire que j'ai trouvé et de redéfinir les ErrorDocument dans la conf apache avec des erreurs vides (un espace).

Code:

ErrorDocument 400 " "
ErrorDocument 500 " "
ErrorDocument 201 " "

etc.

Tout ça s'il s'agit bien du même problème hein smile
Je précise qu'en prod sous ubuntu je n'ai pas ce problème. Uniquement sur les machine de dév. avec Windows 7.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages