1

我有一个 php 脚本,它基本上只通过以下方式加载一个 csv:

 echo json_encode(file(csvfile.csv, FILE_IGNORE_NEW_LINES));

输出是这样的:

["foo,bar,baz","foo, foo,bar","bla,bla,blubb"] 

在我的基本 html 文件中,我以这种方式加载它:

  <script>
  $(document).ready(function(){ 
    $.getJSON("myphpscript.php", function(data) {
      filltable(data);
    })
});

function filltable(jqxhr){
    var table_obj = $('table');
    $.each(jqxhr, function(index, item){
         table_obj.append($('<tr id="'+item.id+'"><td>'+item.data+'</td></tr>'));
    }).insertAfter('.table');
}    
  </script>

这用undefined填充了我的<table id="table"></table>just 。

我的目标是获得一个包含 1 列的表格:

foo,bar,baz
foo, foo,bar
bla,bla,blubb

指定分隔符后,我的 js-function 应该分解每一行和更多列。这是我第一次尝试使用 javascript 和 json。非常感谢你

编辑:固定函数调用(感谢 VisioN)。object.length 现在可以了,但表仍然未定义

4

2 回答 2

1

我想你可能想使用

table_obj.append($('<tr id="'+index+'"><td>'+item+'</td></tr>'));

代替

table_obj.append($('<tr id="'+item.id+'"><td>'+item.data+'</td></tr>'));
于 2012-10-14T23:17:44.637 回答
1

您的数据结构与 jQuery 对象解析架构不匹配

您正在尝试解析一个如下所示的对象:

 [{"id":"foo","data":"foo,bar,baz"}]

对于一列你只想要

 table_obj.append($('<tr id="'+item+'</td></tr>'));
于 2012-10-14T23:20:29.747 回答