Jquery DataTable提示未知参数错误 数据无法加载问题求助
问题排查与修复步骤
- 修正前端JS拼写错误
你在Datatables的ajax配置中写的datatype属性大小写错误,该属性为大小写敏感,正确写法为dataType,拼写错误会导致框架无法正确解析返回的JSON数据,这是最常见的加载失败原因。 - 关闭不必要的服务端渲染模式
你当前没有实现服务端分页、排序、过滤的对应逻辑,完全不需要开启"serverSide": true,将该配置项改为"serverSide": false即可。开启服务端模式后Datatables会要求后端按约定处理前端传递的分页、排序参数,你当前的后端逻辑不满足该要求,会直接触发加载失败。 - 解决前后端属性名大小写不匹配问题
.NET Core/.NET 5+ 默认的JSON序列化规则会将属性名转换为驼峰格式,比如你后端定义的Title属性,序列化后返回给前端的字段名为title,但你前端columns配置中写的是"data": "Title",大小写不匹配导致无法读取对应字段值。可以选择任意一种方式解决:- 前端配置修改:将所有
columns下的data值改为小写开头,比如"data": "title" - 后端配置修改:返回JSON时指定不使用驼峰命名规则,示例代码如下:
public JsonResult LoadData() { IEnumerable<DeathClaims> deathclaims = GetDc(); return Json(new { data = deathclaims, recordsFiltered = deathclaims.Count(), recordsTotal = deathclaims.Count() }, new JsonSerializerOptions { PropertyNamingPolicy = null }); } - 前端配置修改:将所有
- 可选补充配置
如果你定义的LoadData接口仅允许POST请求,记得给该Action添加[HttpPost]注解,避免请求被框架拦截。
按上述步骤修改后刷新页面即可正常加载数据。
内容的提问来源于stack exchange,提问作者Michael Braham
相关产品推荐
相关产品推荐

