jquery - Datatables Jquery - 找不到匹配的记录
问题描述
我有 Jquery Datatables 服务器端,当我导航到我的页面以查看 Datatables 中的结果时,它显示“未找到匹配的记录”,然后我调试了我的代码,我可以看到它检索正确的数据,我还检查了浏览器中的响应它也检索数据。
json响应:
{"data":
[{"Kundenavn":"test 1"},
{"Kundenavn":"test 2"},
{"Kundenavn":"test 3"}]
,"draw":"1","recordsTotal":567,"recordsFiltered":567}
JavaScript:
<table id="OrdrerList">
<thead>
<tr>
<th>Kundenavn</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
$('#OrdrerList').DataTable({
"processing": true,
"serverSide": true,
ajax:{
url: '@Url.Action("GetClosedRMA", "User")',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
dataSrc: ''
},
columns: [
{ data: "Kundenavn" }
]
});
控制器:
public JsonResult GetClosedRMA()
{
//Server side Parameters
int start = Convert.ToInt32(Request["start"]);
int length = Convert.ToInt32(Request["length"]);
string searchValue = Request["search[value]"];
string sortColumnName = Request["columns["+ Request["order[0][colmun]"]+ "][name]"];
string sortDirection = Request["order[0][dir]"];
List<RMAclosedCase> rmalist = new List<RMAclosedCase>();
using (Namespace db = new Namespace())
{
rmalist = (from RH in db.RMA_History
join RS in db.RMAStatus on RH.StatusID equals RS.ID
where RH.SagesType == "LUK"
select new RMAclosedCase
{
Kundenavn = RH.Kundenavn
}).ToList();
int totalrows = rmalist.Count();
//Filter
if (!string.IsNullOrEmpty(searchValue))
{
rmalist = rmalist.Where(x => x.Kundenavn.ToLower().Contains(searchValue.ToLower())).ToList();
}
int totalrowsefterfiltering = rmalist.Count();
//Paging
rmalist = rmalist.Skip(start).Take(length).ToList();
return Json(new {data= rmalist,draw = Request["draw"], recordsTotal = totalrows,recordsFiltered = totalrowsefterfiltering },JsonRequestBehavior.AllowGet);
}
}
我做错了什么?!:) 任何人都可以帮助我或指出我正确的方向!:) 提前致谢
解决方案
只需
dataSrc:""
从您的 ajax 请求中删除。这在类似情况下对我有用。