我对数据表很陌生,我需要使用 AJAX 服务器处理将数据加载到表中。
我尝试使用 GET 请求,但收到 404 not found 错误,并且 URL 不完整(URL 中缺少操作名称)。
我阅读了一篇关于类似问题的帖子,建议使用 POST 而不是 GET 请求。使用 GET 我现在收到“无法读取 null 的属性 sError”,并且无法弄清楚会发生什么。
我无法在控制器中进行调试,因为它甚至没有到达那里。
这是我的数据表对象的初始化代码:
oTable = $('#solutionsTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bSort": false,
"oLanguage": {
"sSearch": "Search all columns:"
},
"bProcessing": true,
// "bDeferRender": true,
"bServerSide": true,
"bAjaxSource": "AJAXGetUserData",
"sServerMethod": "POST"
});
这是控制器动作(虽然它没有到达那里)
[HttpPost]
public ActionResult AJAXGetUserData(jQueryDataTableParamModel param)
{
var allUsers = CMSHelper.GetUsers(countries: User.IsInRole("Account Admin") ? CMSHelper.GetAdminCountries(User.Identity.Name).Select(c => c.Key).ToList() : null);
var result = from u in allUsers
select new string[] {Convert.ToString(u.userId), u.userName, u.roleId.ToString(), u.type, u.isActive.ToString(), u.firstName, u.lastName,
u.email, u.phone, u.Postcode, u.Street, u.Street, u.company, u.jobId.ToString(), u.job, u.country, u.countryName, u.City, u.LoginsNum.ToString(),
u.LastLogin.ToShortDateString()};
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = 97,
iTotalDisplayRecords = 3,
aaData = result
}, JsonRequestBehavior.AllowGet);
}