从AJAX响应的jQuery循环

从AJAX响应的jQuery循环

问题描述:

我正在构建一个标记器。在用户提交的标记,AJAX的回报:从AJAX响应的jQuery循环

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

我想借此tagsinserted和循环通过它,每个循环中采取项目列表并将其插入HTML页面上。如何做到这一点的建议?

下面是当前的代码:

$("#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'); 

     } 
    });  

}); 

你可以做这样的事情:

$("#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

我喜欢这个。奇怪..这里是响应:{“returnmessage”:“Ajax操作成功。”,“tagsinserted”:“adadada”,“returncode”:“0”} 我得到tagsinserted是undefined? – AnApprentice 2010-03-19 16:22:06

+0

@nobosh - 将'dataType:'json','选项添加到您的$ .ajax调用中,并将'alert(data);'添加到您的成功调用中,您会得到什么? – 2010-03-19 16:38:42

+0

它仍然说“Firebug ....中的data.tagsinserted是未定义的”。下面是响应:{“returnmessage”:“Ajax操作成功。”,“tagsinserted”:“tettttt”,“returncode”:“ 0“} – AnApprentice 2010-03-19 16:42:28

你可以通过标签循环调用data.tags.split(','),并通过它返回数组循环。

您可以通过致电$('<li />').text(tag).appendTo('someSelector')将标签插入页面。

+0

谢谢,但你能告诉我到底2结束了吗? – AnApprentice 2010-03-19 00:42:47