2014-11-14 161 views
0

我从这个阿贾克斯接收与对象(具有ID,姓名等)的列表的JSON响应:显示格式的Ajax JSON响应

$.ajax({ 
    url: _this.attr('action'), 
    data: _this.serialize(), 
    dataType: "json", 
    success: function(json_data) { 
    alert('success!'); 
    alert(JSON.stringify(json_data)); 
    }, 
    error: function(data) { 
    alert('error!'); 
    } 
}); 

现在我需要显示此信息作为表的视图,类似于:

%table 
    %thead 
    %tr 
     %th= "ID" 
     %th= "Name" 
    %tbody 
    - @response.each do |resp| 
     %tr 
     %td= resp.id 
     %td= resp.name 

我该怎么做?

回答

0

如果只想使用jQuery来做到这一点,你可以使用类似的东西成功函数:

function(json_data) { 
    var $tbody = $('table tbody'); 
    $.each(json_data, function() { 
    var $tr = $('<tr></tr>').appendTo($tbody); 
    $('<td></td>').text(this.id).appendTo($tr); 
    $('<td></td>').text(this.name).appendTo($tr); 
    }) 
} 

但是作为你的模板,得到越来越困难它可能是值得寻找到一些客户端模板解决方案(例如Handlebars)。

+0

工作!抱歉,迟到的回应,问题是关于一个侧面项目,我一直有点忙:) – mariec 2014-12-09 18:45:52