Je développe une application qui effectue une requête AJAX d'origine croisée vers un serveur HTTP écrit en utilisant Netty.XMLHttpRequest renvoie le statut de 0 dans Firefox 3.6.10 et plus à partir de demandes d'origine croisée
Un exemple du type de code Javascript en cours d'exécution est ci-dessous.
$.ajax({
type:"GET",
url:"http://localhost:5000/someresource",
data: { id1: "1", id2: "2" },
success: function(status, textStatus, xhr) {
alert("Success")
},
error: function(status, textStatus, xhr) {
alert("Error")
}
});
Le problème que je vois est que sur Firefox (3.6.10 et 4.0 beta) l'état du XMLHttpRequest est toujours 0, quel que soit l'état de la réponse. Dans firebug je peux voir que le serveur retourne le bon état pour la requête, mais ceci n'est pas transmis à l'objet XMLHttpRequest.
Ci-dessous est les en-têtes de requête et de réponse envoyés
Response Headers Content-Type text/plain; charset=utf-8 Content-Length 0 Access-Control-Allow-Orig... http://localhost:9000 Cache-Control no-cache Connection Keep-Alive Date Thu, 07 Oct 2010 07:52:08 GMT Request Headers Host localhost:5000 User-Agent Mozilla/5.0.... Accept */* Accept-Language en-gb,en;q=0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Connection keep-alive Content-Type application/x-www-form-urlencoded Referer http://localhost:9000/test Origin http://localhost:9000
J'ai essayé d'exécuter le code dans Chrome, Opera et Safari et ils ont tous fonctionnent très bien. Est-ce que c'est quelque chose que je fais ou un bug dans Firefox?
Merci d'avance.
Est-ce toujours un problème ouvert? Je semble avoir un comportement d'erreur sur Chrome 16 et Firefox 10.0 en ce qui concerne les redirections 302, XHR et CORS. Les redirections fonctionnent très bien. – ricosrealm