Je travaille sur une requête AJAX à partir d'une extension Firefox. J'ai ce code :
function GetMenu(){
var oReq = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
// Setup event handlers - must be set before calling open()
oReq.addEventListener("progress", updateProgress, false);
oReq.addEventListener("load", transferComplete, false);
oReq.addEventListener("error", transferFailed, false);
oReq.addEventListener("abort", transferCanceled, false);
oReq.open('POST', "http://www.foo.bar/", true);
oReq.send('your=data&and=more&stuff=here');
}
function transferFailed(evt) {
Application.console.log("An error occurred while transferring the file.");
Application.console.log(this.responseText);
for(var i in evt)
Application.console.log(i+ ' => '+evt[i]);
}
La demande échoue car http://www.foo.bar/ n'existe pas (je suppose). Ma question est la suivante : pourquoi n'y a-t-il pas de message d'erreur dans l'objet evt transmis à transferFailed() qui dise "Le domaine n'existe pas" ou "Échec DNS" ou quelque chose de ce genre ? Aucune des propriétés de l'objet event n'a d'indication sur la nature du problème, pas de message, pas de code d'erreur, etc.
Ne devrait-il pas y avoir une indication de l'erreur réelle ?