2009-02-06 8 views
1

$ Je suis nouveau à jQuery et je me sers demande ajax pour obtenir un xml comme réponse,

$.get("testurl",pars,function(data){ 
     xml = data; 
     $(xml).find("element").each(function(i,item){ 
     if(($(this).attr("id"))!= undefined){ 
     tab_str += "<tr><td>'id'</td><td>"+$(this).attr("id")+"</td></tr>"; 
     } 
     }); 

    });//get 

Dans le code ci-dessus je reçois le code XML comme prévu. Le seul problème est que je dois complètement construire ma table avant que le reste du code ne s'exécute. J'ai donc décidé d'utiliser la fonction $ .ajax avec async false. Mais cette fois, je ne récupère rien. (Je vérifie la console Firebug, il montre le XML complet dans la section de réponse)

var xml = ( $.ajax({ 
       type: "GET", 
       url: "testurl", 
       data: pars, 
       aysnc:false 

      }).responseText); 

Dans le code ci-dessus du var xml est vide. Pourquoi est-ce? Est-ce que je fais quelque chose de mal? S'il vous plaît aider. Merci d'avance.

Répondre

5

Si vous avez copié-n-collé le code dans votre exemple, vous avez mal orthographié asyncaysnc. Sans cette option, il fonctionnera de manière asynchrone.

2

Je suppose que votre réponse ne revient pas assez rapidement? Avez-vous essayé de définir le fichier XML en utilisant le paramètre succès:?

( $.ajax({ 
     type: "GET", 
     url: "testurl", 
     data: pars, 
     aysnc:false 
     success: function() { 
      //set the right stuff here 
     } 

    })); 
0

Dieu Je me sens si stupide Adam merci de l'avoir signalé. Je ne l'aurais pas réussi à l'attraper atleast pas aujourd'hui :)

ouais j'utilisais « aysnc » au lieu de « async »

BTW je dois mentionner que j'aime ce forum. Je suis juste sorti pour prendre un café et j'ai deux réponses ... wow! Vous êtes top les gars. Merci beaucoup pour la réponse rapide.

jdangel: J'ai essayé aussi de toute évidence, il ne fonctionne pas :)

+0

Stack Overflow n'est pas comme un forum. Vous devriez maintenant marquer sa réponse comme acceptée, et probablement lui donner une certaine réputation pour cela. –

1

si vous utilisez la méthode .ajax $ et que vous voulez à votre fonction sucess vous devez définir l'option dataType au format XML.

Questions connexes