jayaugust 2015-05-17 14:17 采纳率: 66.7%
浏览 5015
已采纳

求教将后台返回的JSON数据填充到表格的问题,js的循环怎么写才正确。

后台返回的是这样的


{"reportId":"1","className":"java","reportName":"232","teaName":"刘老师","stuName":"张同学","uploadDate":"2015-05-16","grade":"80"}

 var tableDate = "";
        $.getJSON("getReport",{ userName : userName },function(data){
            $.each(data,function(id,obj){
                tableDate += "<tr><td>"+id["reportId"]+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td><button>上传</button></td></tr>"  
            }); 
//          alert(tableDate);
            $("tbody").html(tableDate);
        })

前台显示成了这样。。。,整个倒过来了,求教这个循环到底怎么写的

图片说明

  • 写回答

1条回答 默认 最新

  • danielinbiti 2015-05-17 14:26
    关注

    如果each传入的是obj对象,会把里面的属性数组化,所以就是你上面的结果了,每行就是一个属性。
    把data改成[data]

     $.each([data],function(id,obj){
                    tableDate += "<tr><td>"+obj["reportId"]+"</td>"
                                  +"<td>"+obj['className']+"</td>"
                                  +"<td>"+obj['reportName']+"</td>"
                                  +"<td>"+obj['teaName']+"</td>"
                                  +"<td>"+obj['stuName']+"</td>"
                                  +"<td>"+obj['uploadDate']+"</td>"
                                  +"<td>"+obj['grade']+"</td>"
                                  +"<td><button>上传</button></td></tr>"  
                }); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站