JQuery ajax d'erreur de la fonction est exécutée même si la requête est réussie

Je suis en train d'apprendre JQuery et j'ai un petit problème avec ajax. Je suis en train de remplir un tableau javascript avec des valeurs de retour d'une réponse XML à partir d'une page.
Voici ma page principale (ajax.html):

<html>
<head>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript" src="jquery/fiber.js"></script>
</head>
<body>
<p>Ajax</p>
<script>
var ringType = new Array();

</script>
</body>
</html>

fiber.js est-ce:

//process things for fiber map
jQuery(document).ready(function() {
//do stuff when DOM is ready

//populate and display ringType
$.ajax({
  type: "GET",
  url: "ajaxHelper.pl",
  data: {
      getRingTypes: "1",
      },
  dataType: "xml",
  success: function(xml) {
      //if the query was successfull,
      alert("Got an xml object:"+$(xml));
      $(xml).find("ringType").each( function(){
          alert("Received reply "+$(this).text());
          var type = $(this).html(); //save the value
          //append to ringType array
          ringType.push(type);
      });
  },
  error:function (xhr, ajaxOptions, thrownError){
      alert(xhr.status);
      alert(thrownError);
  }
 });
 for(var i=0; i<ringType.length; i++){
    document.write("<br>"+ringType[i]);
 }

});

ajaxHelper.pl génère ce XML (sans les barres obliques inverses dans l' \?) (en tant que content-type text/xml):

<?xml version="1.0" encoding="ISO-8859-1"?>
    <\?xml version="1.0" encoding="ISO-8859-1"\?>
    <ringType>IA</ringType>
    <ringType>IL</ringType>
    <ringType>IN</ringType>
    <ringType>IR</ringType>
    <ringType>RT</ringType>

Le problème est, à chaque fois que je charge ajax.html la requête ajax est un succès, mais la fonction d'erreur est exécuté! xhr.statut = 200 (signification de la requête était ok) et thrownException est pas défini.

Désolé, le xml n'a pas de coller correctement. Voilà encore une fois (avec des espaces): < ? xml version= "1.0" encoding="ISO-8859-1" ? > < ringType > IA < / ringType > < ringType > IL < / ringType > < ringType > < / ringType > < ringType > IR < / ringType > < ringType > RT < / ringType >
Essayez de mettre des <?xml version="1.0" encoding="UTF-8"?> au dessus de la sortie de document XML, si vous ne l'avez pas déjà
si vous ouvrez le ajaxHelper.pl fichier dans votre navigateur (mywebapp/ajaxHelper.pl), le navigateur de reconnaître la réponse à partir du fichier XML?

OriginalL'auteur Adrian | 2009-06-09