[英]jQuery Datatables - Table not populated for Ajax response
我试图将带有服务器端处理的jquery数据表集成到UI组件之一中。 请求网址返回一个json。 JSON格式正确,并在jsonlint上通过了验证。
这是从萤火虫获取的典型json响应。
{
"sEcho": 1,
"iTotalRecords": 6416,
"iTotalDisplayRecords": 5,
"aaData": [
{
"0": 421367,
"1": "Test1",
"2": "NEW",
"3": "Default",
"4": "18 Aug 2011 20:27:12 GMT",
"5": "TestBench",
"6": "NA"
},
{
"0": 421368,
"1": "Test2",
"2": "NEW",
"3": "Default",
"4": "18 Aug 2011 20:27:12 GMT",
"5": "TestBench",
"6": "NA"
},
{
"0": 421369,
"1": "Test3",
"2": "NEW",
"3": "Default",
"4": "18 Aug 2011 20:27:12 GMT",
"5": "TestBench",
"6": "NA"
},
{
"0": 421370,
"1": "Test4",
"2": "NEW",
"3": "Default",
"4": "18 Aug 2011 20:27:13 GMT",
"5": "TestBench",
"6": "NA"
},
{
"0": 421371,
"1": "Test5",
"2": "NEW",
"3": "Default",
"4": "18 Aug 2011 20:27:13 GMT",
"5": "TestBench",
"6": "NA"
}
]
}
脚本:
$(document).ready(function() {
var thisTable;
thisTable = $('#events').dataTable( {
"bProcessing": true,
"bServerSide": true,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "http://localhost:9000/dt/data/all"
});
});
我在屏幕上看到处理窗口,它不会停止。 该表仍然为空。
我在这里想念什么吗?
回声是问题吗? 由于我一直在查看处理窗口。
我遇到了同样的问题,即处理消息永不停止,但帖子响应没有任何错误。 我已经检查了POST数据,我的错误是在更改页码之后,浏览器发送到服务器sEcho = 2(如果单击第2页),但是我的服务器端代码仍然发送回了浏览器sEcho = 1,因此导致了错误。 我已经从请求参数中获取了正确的sEcho值,并将其放入我的json响应数据中,现在一切正常!
字符串sEcho = request.getParameter(“ sEcho”);
我认为您的设置需要一个数组数组。 您的数据是一个对象数组。 因此,您必须使用“ aoColumns”选项( http://www.datatables.net/release-datatables/examples/ajax/objects.html )
所以我认为应该是这样的:
$(document).ready(function() {
var thisTable;
thisTable = $('#events').dataTable( {
"bProcessing": true,
"bServerSide": true,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "http://localhost:9000/dt/data/all"
"aoColumns": [
{ "mData": "0" },
{ "mData": "1" },
{ "mData": "2" },
{ "mData": "3" },
{ "mData": "4" },
{ "mData": "5" },
{ "mData": "6" },
]
});
});
这个小提琴似乎对我有用(但是我无法测试sAjaxSource属性,因为它期望我无法访问该URL) http://jsfiddle.net/thomasjonas/jW7uC/1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.