Suite à partir de cette question jQuery Ajax error handling, show custom exception messages J'essaie d'afficher à mes utilisateurs un message d'erreur personnalisé de ColdFusion (via AJAX) lorsqu'un formulaire est soumis, mais une erreur est survenue.jQuery Ajax rapport d'erreur avec ColdFusion
J'ai essayé de le faire en utilisant un <cfthrow errorcode="500" message="You did something wrong"/>
standard qui serait revenir à jQuery un code d'état de réponse qui n'est pas 200 d'où il est facile de montrer l'erreur comme tel:
...
error: function (xhr, textStatus, thrownError) {
$('p').text(thrownError);
}
Cependant, dans la production de ColdFusion Il est recommandé de désactiver les rapports d'erreurs dans les paramètres de débogage des serveurs. Donc maintenant tout ce que mon utilisateur voit est "Internal server error"
au lieu du message personnalisé.
Ma solution temporaire est maintenant de simplement faire un <cfreturn "Error: You did something wrong"/> <cfabort>
puis de faire en sorte que jQuery recherche tout résultat renvoyé par le serveur où le texte commence par "Erreur:".
Je préfère utiliser la gestion des exceptions avec <cfthrow>
. Comment cela peut-il être réalisé étant donné la recommandation de désactiver le débogage?
La réponse est-elle un paquet JSON? Si c'est le cas, ajoutez un message de propriété et/ou d'erreur 'success' dans le fichier JSON et vérifiez les valeurs lorsque la réponse est reçue côté client. –
Donc cela sera toujours traité dans la méthode 'success()' de l'appel ajax - ce que je suis en train de faire maintenant mais en recherchant la chaîne de 'Error:' dans le résultat retourné par ColdFusion. Il semble juste mal à gérer les erreurs dans la méthode de succès. –
Il est faux, pour plusieurs raisons, y compris le référencement. Si la page est réussie, rien n'indique au moteur de recherche que la réponse de la page est erronée. –