【问题标题】:jQuery Loop from a AJAX Response来自 AJAX 响应的 jQuery 循环
【发布时间】:2010-03-19 00:39:44
【问题描述】:

我正在构建一个标记器。用户提交标签后,ajax返回:

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

我想获取插入的标签并循环遍历它,并在每个循环期间获取列表中的项目并将其插入 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');

        }
    });     

});

【问题讨论】:

    标签: javascript jquery ajax loops


    【解决方案1】:

    你可以这样做:

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

    【讨论】:

    • 我喜欢这个。奇怪..这是响应:{“returnmessage”:“Ajax操作成功。”,“tagsinserted”:“adadada”,“returncode”:“0”}我得到一个标签插入未定义?
    • @nobosh - 将dataType: 'json', 选项添加到您的$.ajax 调用和alert(data); 到您的成功调用,您会得到什么?
    • Firebug 中仍然显示“data.tagsinserted is undefined”.... 再次回复:{"returnmessage":"Ajax 操作成功。","tagsinserted":"tettttt ","re​​turncode":"0"}
    • 对于警报数据,我认为它显示正确:{"returnmessage":"Ajax 操作成功。","tagsinserted":"tettttt","re​​turncode":"0"}
    • 警报(data.tagsinserted);也在改变未定义
    【解决方案2】:

    您可以通过调用data.tags.split(',') 并遍历它返回的数组来遍历标签。

    您可以通过调用$('&lt;li /&gt;').text(tag).appendTo('someSelector')向页面插入标签。

    【讨论】:

      猜你喜欢
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多