Javascript JQuery DataTable-服务器端处理未响应
编辑:无硬编码Javascript JQuery DataTable-服务器端处理未响应,javascript,jquery,datatables,jquery-datatables,Javascript,Jquery,Datatables,Jquery Datatables,编辑:无硬编码sEcho 编辑: 信息 身份证件 名称 我从.Net接收到一个JSON对象,JSON对象是按照指定的格式创建的。但是我没有看到它加载了数据,我在Chrome控制台中进行了检查,我没有看到任何错误我有超过15000条记录,我丢失了什么,我知道这一定很愚蠢 JSON对象: <script> $(document).ready(function () { $("#dt_vendor").dataTable({
sEcho
编辑:
信息
身份证件
名称
我从.Net接收到一个JSON对象,JSON对象是按照指定的格式创建的。但是我没有看到它加载了数据,我在Chrome控制台中进行了检查,我没有看到任何错误我有超过15000条记录,我丢失了什么,我知道这一定很愚蠢
JSON对象:
<script>
$(document).ready(function () {
$("#dt_vendor").dataTable({
"oLanguage": {
"sZeroRecords": "No records to display",
"sSearch": "Search..."
},
'iDisplayLength': 10,
"lengthMenu": [ 5, 10, 20, 30, 50, 100 ],
"bSortClasses": false,
"bStateSave": false,
"bPaginate": true,
"bAutoWidth": false,
"bProcessing": true,
"bServerSide": true,
"bDestroy": true,
"sAjaxSource": "@Url.Action("GetAjaxData", "Vendor")",
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bDeferRender": true,
"fnServerData": function (sSource, aoData, fnCallback) {
debugger;
$.ajax({
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"type": "GET",
"url": sSource,
"aadata": aoData,
"success":
function (msg)
{
var json = jQuery.parseJSON(msg.d);
fnCallback(json);
$("#dt_vendor").show();
}
});
}
});
});
</script>
$(文档).ready(函数(){
$(“#dt_供应商”)。数据表({
“语言”:{
“sZeroRecords”:“没有要显示的记录”,
“搜索”:“搜索…”
},
“iDisplayLength”:10,
“长度菜单”:[5,10,20,30,50,100],
“bSortClasses”:false,
“bStateSave”:false,
“bPaginate”:对,
“bAutoWidth”:假,
“bProcessing”:正确,
“bServerSide”:正确,
是的,
“sAjaxSource”:“@Url.Action(“GetAjaxData”,“供应商”)”,
“bJQueryUI”:没错,
“sPaginationType”:“完整编号”,
“bDeferRender”:没错,
“fnServerData”:函数(sSource、aoData、fnServerData回调){
调试器;
$.ajax({
“数据类型”:“json”,
“contentType”:“application/json;charset=utf-8”,
“类型”:“获取”,
“url”:sSource,
“aadata”:aoData,
“成功”:
功能(msg)
{
var json=jQuery.parseJSON(msg.d);
fn回调(json);
$(“#dt_供应商”).show();
}
});
}
});
});
原始答案
以下是调试的一些想法:
- 您是硬编码“sEcho”的值还是返回提供的值?DataTable使用它来确保它正在处理对其最新请求的响应
- 尝试在内部提供一个空标记,以确保它存在
确保.NET代码响应中包含的
sEcho
值与.NET代码请求中提供的sEcho
值相同。我正在对sEcho
进行硬编码,是否应该?我也尝试过在表中添加
,但还是一样。不,不要硬编码sEcho
。返回为sEcho
接收的值。DataTable每次发出请求时都会为sEcho
发送一个唯一的值,并希望响应在sEcho
中具有相同的值。我确实对sEcho
进行了硬编码,但没有任何区别。请查看我更新的问题a屏幕截图确定。。。这基本上还是同一个问题。服务器端代码正在接收一个名为sEcho
的变量。您需要返回sEcho
,但它应该是服务器端代码接收到的值。我不确定我是否理解您的上一篇文章。
<script>
$(document).ready(function () {
$("#dt_vendor").dataTable({
"oLanguage": {
"sZeroRecords": "No records to display",
"sSearch": "Search..."
},
'iDisplayLength': 10,
"lengthMenu": [ 5, 10, 20, 30, 50, 100 ],
"bSortClasses": false,
"bStateSave": false,
"bPaginate": true,
"bAutoWidth": false,
"bProcessing": true,
"bServerSide": true,
"bDestroy": true,
"sAjaxSource": "@Url.Action("GetAjaxData", "Vendor")",
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bDeferRender": true,
"fnServerData": function (sSource, aoData, fnCallback) {
debugger;
$.ajax({
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"type": "GET",
"url": sSource,
"aadata": aoData,
"success":
function (msg)
{
var json = jQuery.parseJSON(msg.d);
fnCallback(json);
$("#dt_vendor").show();
}
});
}
});
});
</script>