【发布时间】:2016-11-07 17:46:18
【问题描述】:
所以我有使用 AJAX 的 jQuery 数据表来调用这种格式的 JSON。
$(document).ready(function () {
$('#test').DataTable({
ajax:{
url:"players.json",
dataSrc:""
},
columns: [
{data: "id"},
{ data: "player" },
{ data: "points" },
{ data: "steals" },
{ data: "blocks" },
{ data: "assists" },
{ data: "MPG" },
{ data: "shot %" },
{ data: "3 %" }
]
});
});
我的 aspx.cs 文件有一个创建 JSON 文件的方法。
[System.Web.Services.WebMethod]
public static void loadTable()
{
NBAPlayerRepository players = new NBAPlayerRepository();
DataTable dt = players.GetAll();
var json = dt.ToJson();
System.IO.File.WriteAllText(@"C:\Users\wheres\Downloads\nbaStats\nbaStats\nbaStats\players.json", json);
}
JSON 看起来像这样:
[{"id" : "67926aa7-46b7-4418-96db-fc7e5216aac4","playername" : "Wilson Heres","points" : "34534","steals" : "34","blocks" : "34","assists" : "343","mpg" : "343","shootingpercentage" : "33.3429985046387","threepointpercentage" : "33.3429985046387"}
,{"id" : "6dc42e0b-8750-463d-a9ef-5a025a27154b","playername" : "Wilson Heres","points" : "34534","steals" : "34","blocks" : "34","assists" : "343","mpg" : "343","shootingpercentage" : "33.3429985046387","threepointpercentage" : "343.334014892578"}
,{"id" : "f727130c-5b94-4730-a653-cfb603c73b8a","playername" : "Wilson Heres","points" : "34534","steals" : "34","blocks" : "34","assists" : "343","mpg" : "343","shootingpercentage" : "33.3429985046387","threepointpercentage" : "343.334014892578"}
]
但现在我收到此错误“jquery.dataTables.min.js:48 Uncaught TypeError: Cannot read property 'length' of undefined”
编辑:现在一切正常。只需要添加 dataSrc:""
【问题讨论】:
-
你所说的“得到一个空白屏幕”是什么意思?实际上是什么都没有显示(一个完整的白页)还是只是您的数据没有正确显示?此外,一个直接的问题是您的
. 中必须有 和 标签
@ChrisH。是的,甚至什么都没有出现。不知道为什么会这样。他们不这样做 here 并且它有效。查看 jsfiddle 以获取示例。关于该示例需要注意的一点是,它基于旧版本的 DataTables(因此使用 aaData 而不是数据等)。如果您使用的是 1.10.x,则只想使用data和columns标记,而不使用匈牙利符号。至于那个链接的例子,它们根本不显示 HTML,这就是你看不到 和 标记的原因。你肯定需要它们在 HTML 中:link@ChrisH。哦好的。这就说得通了。我添加了 标签并且它们显示出来了,但是正文的内容不应该由数据表处理吗?我正在尝试自动提取所有数据并能够从 html 页面对其进行编辑。是的,内容应该由 DataTable 处理,但是一旦从服务器中提取数据,它需要这些标签知道将数据放在哪里。我目前正在编写您的 DataTables 初始化的清理版本,因此请在发布后查看它。
标签: html asp.net json ajax datatables