Честно говоря, я новичок в этом jquery DataTable и мягко с js / json вещами
В настоящее время я переделываю свои старые заброшенные веб-проекты и пытаюсь переделать его в MVC с помощью таблиц данных. Так как я вернулся к этому программированию через 6 месяцев (немного предыстории для вас, поэтому, пожалуйста, имейте в виду, если я снова попрошу получить более подробную информацию об ответе)
проблема в том, что я сталкиваюсь сошибка для кода предупреждения 4 при получении данных от контроллера при обработке на стороне сервера jQuery dataTable
Ниже приведен код моего контроллера
[HttpPost]
public ActionResult GetRoles()
{
var gridControl = new GridviewControl();
var objSrc = new BOPMRoles();
try
{
gridControl = Common.Common.GenerateTableInformation(Request);
objSrc = Common.Common.GenerateSearch(typeof(BOPMRoles), Request) as BOPMRoles;
BPPMRoles objBP = new BPPMRoles();
var data = objBP.Get(objSrc, gridControl);
var objres = data.Keys.Single();
var roles = data.Values.ToList();
if (objres.MsgCode != 0)
{
return Json(new { draw = gridControl.Draw, recordsFiltered = 0, totalRecords = gridControl.TotalRow, data = new List<BOPMRoles>(), error = "Error, Error Code = " + objres.MsgCode }, JsonRequestBehavior.AllowGet);
}
return Json( new { draw = gridControl.Draw, recordsFiltered = gridControl.TotalRow, totalRecords = gridControl.TotalRow, data = roles }, JsonRequestBehavior.AllowGet);
}
catch (Exception err)
{
return Json(new { draw = gridControl.Draw, recordsFiltered = 0, totalRecords = gridControl.TotalRow, data = new List<BOPMRoles>(), error = "Error, Error Code = " + 80 }, JsonRequestBehavior.AllowGet);
}
}
сам метод возвращает значения ролей с одной строкой без каких-либоerror или fetching catch errors
и ниже - мой код с данными JQuery, который является основной темой моего вопроса
$('#table').dataTable({
"processing": false,
"serverSide": true,
"filter": false,
"orderMulti": false,
"dataSrc": "",
"dom": '<"top"i>rt<"bottom"lp><"clear">',
"pageLength": 10,
"ajax": {
"url": "@Url.Action("GetRoles", "Roles", new { area = "PersonalManagement" })",
"type": "POST",
"searchable": true,
"error": function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
},
"columns": [
{ "data": "[].RoleName", "name": "RoleName", "autoWidth": true },
{ "data": "[].CreatedBy", "name": "CreatedBy", "autoWidth": true },
{ "data": "[].CreatedTime", "name": "CreatedTime", "autoWidth": true },
{ "data": "[].ModifiedBy", "name": "ModifiedBy", "autoWidth": true },
{ "data": "[].ModifiedTime", "name": "ModifiedTime", "autoWidth": true }
]
});
Дело в том, что с этими кодами все работает нормально, ноквадратные скобки в
"data": "[].DomainMemberFieldName"
вроде как неправильно меня теряют, есть ли что-то, чего мне не хватает в моем коде?
также, пожалуйста, объясните мне, почему я должен поставить квадратные скобкирешить мою проблему и как я могу получить тот же результат без квадратных скобок
Так как, когда я уберу квадратные скобки, предупреждение 4 будетсработать
Заранее спасибо