Vous voulez dire, les erreurs http? Certaines erreurs http sont enregistrées dans firebug, comme 404 ou 500.
Vous pouvez étendre Ajax.Request et lui faire signaler tout état de réponse http souhaité sans avoir à répéter le code.
Ajax.MyRequest = Class.create(Ajax.Request, {
initialize: function($super, url, options) {
function debuggerHandler(response) {
if(console && console.error) {
console.error("ERROR: " + response.responseText);
}
}
var debuggers = ["onFailure"]; //add any custom http status code
options = Object.clone(options) || {};
var handler;
var old;
for(var d in debuggers) {
handler = debuggers[d];
if(options[d]) {
old = options[d];
handler = function(response) {
old(response);
debuggers[d](response);
}
}
options[d] = handler;
}
$super(url, options);
}
});
Ensuite, au lieu d'appeler Ajax.Request, vous appelez Ajax.MyRequest et chaque appel ajax traverserez les gestionnaires de débogage et par tout gestionnaire que vous voulez traiter l'erreur individuelle. Comme:
new Ajax.MyRequest("/thisresourcedoesnotexist");
jetteront 404 et connectez-vous à console.error. Lance un 404, exécute le gestionnaire personnalisé et enregistre dans console.error.
Il existe plusieurs façons d'améliorer cette approche. Ceci est juste l'idée générale.
Merci, j'utilise les 3 outils en fait, mais je ne connaissais pas les Ajax.Responders. – fanfavorite