我正在尝试将json响应放在jquery数据表中,但在数据表中它没有显示任何响应。
这是我的代码
<span style="display:inline-block;">30</span>
这是回复
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
</head>
<body>
<table id="example">
<thead>
<tr><th class="site_name">Name</th><th>Url </th><th>Type</th><th>Last modified</th></tr>
</thead>
<tbody>
</tbody>
</table>
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<script>
$("#example").dataTable({
"processing": true,
"serverSide": true,
"sAjaxSource": "http://url",
"aoColumns": [{
"mData":"name",
"sTitle": "site name"
},{
"mData": "createdBy"
},{
"mData": "createdBySafeId"
},{
"mData": "lastUpdated"
},{
"mData":"tag"
}]
});
</script>
<!-- <textarea rows="4" cols="50">
example
</textarea> -->
</body>
</html>
当我试图在数据表中显示响应时..它显示空行。感谢
答案 0 :(得分:0)
您已使用"serverSide": true
启用了服务器端处理模式,但您的响应没有适合该模式的结构。您还需要使用"sAjaxDataProp": ""
,因为您的响应是一个普通数组。
请改用以下代码:
$("#example").dataTable({
"sAjaxSource": "http://url",
"sAjaxDataProp": "",
"aoColumns": [{
"mData":"name",
"sTitle": "site name"
},{
"mData": "createdBy"
},{
"mData": "createdBySafeId"
},{
"mData": "lastUpdated"
},{
"mData":"tag"
}]
});
答案 1 :(得分:0)
请使用更新版本的DataTables!除此之外,您还需要向我们提供有关您希望如何显示标签的更多信息。在this example我用逗号加入他们,但世界是你的龙虾。
基本上,你想在tags
字段上使用渲染函数:
{
"data": "tag",
"render": function(d) {
return d.join(", ")
}
}