2010-03-19 4 views
0

Je construis un tagger. Une fois qu'un utilisateur soumet une étiquette, les retours ajax:Boucle jQuery à partir d'une réponse AJAX

{"returnmessage":"The Ajax operation was successful.","tagsinserted":"BLAH, BLOOOW","returncode":"0"} 

Je veux prendre la tagsinserted et la boucle à travers elle, et pendant chaque boucle prendre l'élément dans la liste et l'insérer sur la page HTML. suggestion sur la façon de le faire correctement?

Voici le code actuel:

$("#tag-post").click(function(){ 
    // Post $('#tag-input').val() 
    $.ajax({ 
     url: '/tags/ajax/post-tag/', 
     data: { newtaginput : $('#tag-input').val(), userid : $('#userid').val()}, 
     success: function(data) { 
      // After posting 
      alert('done'); 

     } 
    });  

}); 

Répondre

1

Vous pouvez faire quelque chose comme ceci:

$("#tag-post").click(function(){ 
    $.ajax({ 
    url: '/tags/ajax/post-tag/', 
    data: {newtaginput : $('#tag-input').val(), userid : $('#userid').val()}, 
    success: function(data) { 
     $.each(data.tagsinserted.split(', '), function(i, v) { 
     $("<div></div>").text(v).appendTo("#tagHolder"); 
     }); 
    } 
    }); 
}); 
+0

J'aime ça. étrange .. Voici la réponse: {"returnmessage": "L'opération Ajax a réussi.", "tagsinserted": "adadada", "returncode": "0"} Je reçois un tagsinserted est undefined? – AnApprentice

+0

@nobosh - Ajoutez l'option 'dataType: 'json',' à votre appel $ .ajax et 'alert (data);' à votre appel de succès, qu'obtenez-vous? –

+0

Il est toujours dit "data.tagsinserted est indéfini" dans Firebug .... Voici la réponse à nouveau: {"returnmessage": "L'opération Ajax a été couronnée de succès.", "Tagsinserted": "tettttt", "returncode": " 0 "} – AnApprentice

0

Vous pouvez parcourir les balises en appelant data.tags.split(',') et en boucle à travers le tableau, il retourne. Vous pouvez insérer des étiquettes sur la page en appelant $('<li />').text(tag).appendTo('someSelector').

+0

Merci, mais pouvez-vous me montrer la fin 2 fin? – AnApprentice