2016-11-30 85 views
0

所以我试图用脚本中的数据填充表。我已经尝试了很多改变参数等,但似乎无法让它工作。这是我到目前为止:使用jQuery和Ajax填充json数据表

$(document).ready(function() { 
     $.get(file + '?op=retrieve&page=1', function (data) { 
      $.each(data, function (i, elem) { 
       $('#mainTable').append(
        '<tr><td>' + elem.name + '</td><td>' + elem.address '</td></tr>' 
       ) 
      }) 
     }) 

我目前得到的错误:TypeError:e不是一个对象。 (评价 'T-1中E')

赫雷什JSON数据的一个例子:

{"id":"348141","name":"Birdies","address":"Bridge Street, Tunbridge Wells, TN1 1AH"}] 
+0

告诉我们从不用彷徨调用检索数据的结构。 –

+0

就像@MisterPositive一样,向我们展示从.get调用中检索到的数据的模拟,其他的事情,您可以在$ .each行中放置一个断点并查看数据中的内容 – Hatim

+0

@MisterPositive请参阅编辑:) – JL9

回答

0

从你的数据,我明白你得到JS对象的数组。

如果你看到你的js代码,您使用的是下面的代码片断

$。每次(数据,功能(I,ELEM){ });

所以从上面的代码中,“i”是索引,elem是当前迭代值。

所以elem.name [i]将是无效的。这是因为elem本身是一个具有名称属性的对象,名称只是字符串类型。所以你不能有名字[我]。

$(document).ready(function() { 
     $.get(file + '?op=retrieve&page=1', function (data) { 
      $.each(data, function (i, elem) { 
       $('#mainTable').append(
        '<tr><td>' + elem.name + '</td><td>' + elem.address '</td></tr>' 
       ) 
      }) 
     }) 

我认为“mainTable”元素看起来像这样

<table> 
<tbody id="mainTable"> 
</tbody> 
</table>