这是我的桌子
<table id="example" class="display" style="width: 100%">
<thead>
<tr>
<th>latitude</th>
<th>longitude</th>
</tr>
</thead>
<tfoot>
<tr>
<th>latitude</th>
<th>longitude</th>
</tr>
</tfoot>
</table>
这是我的剧本
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<link href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" rel="stylesheet" />
<script>
$(document).ready(function () {
$(document).ready(function () {
$('#example').DataTable({
"processing": true,
"serverSide": true,
"info": true,
"stateSave": true,
"lengthMenu": [[10, 20, 50, -1], [10, 20, 50, "All"]],
"ajax": {
"url": "Default3.aspx/GetRouteName",
"type": "GET"
},
"columns": [
{ "data": "latitude" },
{ "data": "longitude" }
],
"order": [[0, "asc"]]
});
});
});
</script>
在页面末尾,我正在加载以下脚本
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
这是我的服务器
[WebMethod]
public static string GetRouteName()
{
List<location> b = new List<location>();
for (int i = 0; i < 1000; i++)
{
location l = new location();
l.latitude = 1233;
l.longitude = 123123;
b.Add(l);
}
bise bb = new bise();
bb.data = b;
bb.draw = 3;
bb.recordsFiltered = 1000;
bb.recordsTotal = 1000;
return JsonConvert.SerializeObject(bb);
}
我不断得到DataTables warning: table id=example - Invalid JSON response
我已经尝试了很多次周转,但是同样的问题,我需要的是能够从服务器上分页数据表,因为我有大数据,但是ajax调用甚至没有触发,请参考此链接datatable from server
答案 0 :(得分:0)
[WebMethod]
public static string GetRouteName()
{
List<location> b = new List<location>();
for (int i = 0; i < 1000; i++)
{
location l = new location();
l.latitude = 1233;
l.longitude = 123123;
b.Add(l);
}
return JsonConvert.SerializeObject(b);
}
您可以试试吗?工作正常吗?
答案 1 :(得分:0)
我对.NET不熟悉,但我建议您以这种方式简单地遵循所需的格式(这是服务器端的伪代码,请随时将其翻译为所需的任何语言):
function GetRouteName() // returns an object
{
Array b = new Array();
for (int i = 0; i < 1000; i++)
{
Array l = new Array();
l.latitude = 1233;
l.longitude = 123123;
b["data"].Add(l); // Add the longitude/latitude array to a data field of the returned array
}
return JsonConvert.SerializeObject(b); // return the array b after converting it to json
}
请记住,您返回的json需要看起来像这样:
{
"data": [
{
"longitude": "123",
"latitude": "123123"
},
{
"longitude": "123",
"latitude": "123123"
},
{
"longitude": "123",
"latitude": "123123"
}
]
}
它必须是一个包含data
的对象,并且内部必须有多个具有适当参数的键longitude
和latitude
作为对象。