2011-11-23 2 views
0

d'abord, désolé former mon pauvre anglais, je suis castillan ...XML Management/Ajax avec Opera et Chrome

je besoin d'aide avec ceci: J'ai un web où je surprends des données à partir d'un XML fichier.

Mon code est le suivant:

$(function() { 
    $.ajax({ 
     type: "GET", 
     cache: false, 
     dataType: ($.browser.msie) ? "text" : "xml", 
     success: parseXML, 
     error: function(){alert("Error: Something went wrong");} 
    }); 
}); 


function parseXML(){ 
    var xml = null; 
    if (typeof window.ActiveXObject != 'undefined') 
    { // code for IE 
     xml = new ActiveXObject("Microsoft.XMLDOM"); 
    } 
    else if((typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined')) 
    { // code for Mozilla, Firefox, Opera, etc. 
     //xml = new XMLHttpRequest(); 
     xml = document.implementation.createDocument("", "", null); 
    } 
    else{ 
     xml = new XMLHttpRequest(); 
    } 

    xml.async=false; 
    xml.resolveExternals = false; 
    xml.validateOnParse = false; 
    xml.load("dades.xml"); 

    total=$(xml).find('llibre').size(); 
    $(xml).find('llibre').each(function(){ 
      var desc = $(this).find('descripcio').text() 
      var img = $(this).find('imatge').text(); 
      var url = $(this).find('url').text(); 
      .... 

Et là, je travaille avec ce vars, mais dans les navigateurs Chrome et Opera je l'erreur dans .ajax de $ ({ « Quelque chose a mal tourné » Mais dans Firefox et Internet Explorer, il qui fonctionne.

beaucoup de Merci pour toute réponse

+0

A partir de l'onglet Réseau de Chrome, pouvez-vous voir la demande faite? Et le contenu de la réponse? Si oui, quelle est la réponse? Y a-t-il une erreur signalée? –

+0

Je n'ai aucune réponse de l'onglet réseau de Chrome, aucune erreur, aucun avertissement. –

Répondre

0

l'appel AJAX semble juste et je ne vois pas d'erreur dans la console Chrome quand je l'exécute. pouvez-vous poster l'erreur complète que vous obtenez? I pense que l'erreur est dans la fonction parseXML et non dans l'appel AJAX.

+0

Comment je publie l'erreur complète? Merci –

+0

Sélectionnez l'erreur dans la console avec votre souris et copiez-collez ici –

+0

Je n'ai aucune erreur dans la console ... –

0

Ma pleine fonction parseXML:

function parseXML(){ 
    var xml = null; 
    if (typeof window.ActiveXObject != 'undefined') 
    { // code for IE 
     xml = new ActiveXObject("Microsoft.XMLDOM"); 
    } 
    else if((typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined')) 
    { // code for Mozilla, Firefox, Opera, etc. 
     //xml = new XMLHttpRequest(); 
     xml = document.implementation.createDocument("", "", null); 
    } 
    else{ 
     xml = new XMLHttpRequest(); 
    } 
    xml.async=false; 
    xml.resolveExternals = false; 
    xml.validateOnParse = false; 
    xml.load("dades.xml"); 

    total=$(xml).find('llibre').size(); 
    $(xml).find('llibre').each(function(){ 
     var id_text = $(this).attr('id');           
     if((id_text>=3*(index-1)) && (id_text<3*index)){ 
      var desc = $(this).find('descripcio').text() 
      var img = $(this).find('imatge').text(); 
      var url = $(this).find('url').text(); 

      if(id_text%3==0){ 

       //Aquest es el primer element que sortira a la pantalla, cal eliminar els altres abans dels altres per si no s'emplena la pantalla 
       $('#imatge1').empty(); 
       $('#imatge2').empty(); 
       $('#imatge3').empty(); 
       $('#text1').empty(); 
       $('#text2').empty(); 
       $('#text3').empty(); 

       if(url==""){ 
        //Quan no hi ha url en el arxiu xml, no afegim link a la imatge 
        $('<li>').html('<img src="'+img+'"/>').appendTo('#imatge1'); 
       } 
       else{ 
        $('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge1'); 
       } 
       //$("#text1").append(desc); 
       $('<li>').html(desc).appendTo('#text1'); 
       if(url!=""){ 
        $('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text1'); 
       } 
      } 
      else if(id_text%3==1){ 
       if(url==""){ 
        $('<li>').html('<img src="'+img+'"/>').appendTo('#imatge2'); 
       } 
       else{ 
        $('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge2'); 
       } 
       $('<li>').html(desc).appendTo('#text2'); 
       if(url!=""){ 
        $('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text2'); 
       } 
      } 
      else if(id_text%3==2){ 
       if(url==""){ 
        $('<li>').html('<img src="'+img+'"/>').appendTo('#imatge3'); 
       } 
       else{ 
        $('<li>').html('<a href="' + url + '"><img src="'+img+'"/></a>').appendTo('#imatge3'); 
       } 
       $('<li>').html(desc).appendTo('#text3'); 
       if(url!=""){ 
        $('<li>').html('<a href="' + url + '"> Link </a>').appendTo('#text3'); 
       } 
      } 
     } 
    }); //close each(
} 

Je pense que le reste de la fonction n'a pas d'importance parce que je ne mets que de vars dans les balises html ...

Questions connexes