JQuery Datatable未从MVC控制器加载Json数据
我有一个Asp.Net MVC 5web应用程序。我正在使用JQuery Datatables v1.10.16在一个razor视图中显示表格数据。返回数据表的数据是通过ajax调用和返回Json 这是我的观点JQuery Datatable未从MVC控制器加载Json数据,json,ajax,asp.net-mvc,datatables,Json,Ajax,Asp.net Mvc,Datatables,我有一个Asp.Net MVC 5web应用程序。我正在使用JQuery Datatables v1.10.16在一个razor视图中显示表格数据。返回数据表的数据是通过ajax调用和返回Json 这是我的观点 <table id="data_table" class="display" style="width:100%"> <thead> <tr> <td>Evaluation ID</td
<table id="data_table" class="display" style="width:100%">
<thead>
<tr>
<td>Evaluation ID</td>
<td>Applicant Name</td>
</tr>
</thead>
<tfoot>
<tr>
<td>Evaluation ID</td>
<td>Applicant Name</td>
</tr>
</tfoot>
</table>
<script type="text/javascript">
$(document).ready(function () {
$('#data_table').DataTable({
"ajax": '/EvalDashboard/GetEvaluationData',
"dataSrc": 'evaluations',
"columns": [
{ data: 'evaluationID' },
{ data: 'applicantName' }
]
});
});
</script>
当我运行应用程序时,我可以看到正在调用方法GetEvaluationData()
,但是,没有数据返回到视图中的datatable,我只收到一条消息说正在加载
我不确定问题是否是因为我在方法中返回了一个annonymous类型
有人能帮忙吗
谢谢。我想你需要做的只是以下几点
</script>
$(document).ready(function () {
$('#example').dataTable({
"ajax": "/Home/Index",
"columns": [
{ "data": "FirstName" },
{ "data": "LastName" },
{ "data": "Username" },
{ "data": "Password" },
]
});
});
</script>
$(文档).ready(函数(){
$('#示例')。数据表({
“ajax”:“/主页/索引”,
“栏目”:[
{“数据”:“名字”},
{“数据”:“LastName”},
{“数据”:“用户名”},
{“数据”:“密码”},
]
});
});
不需要处理和服务器端,当您有大数据并且希望在服务器端进行分页和排序时,就可以使用它们,这在您的代码中不是这样的
</script>
$(document).ready(function () {
$('#example').dataTable({
"ajax": "/Home/Index",
"columns": [
{ "data": "FirstName" },
{ "data": "LastName" },
{ "data": "Username" },
{ "data": "Password" },
]
});
});
</script>
$(文档).ready(函数(){
$('#示例')。数据表({
“ajax”:“/主页/索引”,
“栏目”:[
{“数据”:“名字”},
{“数据”:“LastName”},
{“数据”:“用户名”},
{“数据”:“密码”},
]
});
});
不需要处理和服务器端,当您有大数据并且希望在服务器端进行分页和排序时,可以使用它们,这在代码中不是这样的问题。问题是我没有在Json返回语句中包含关键字
data
,如下所示:
return Json(new { data = evaluations }, JsonRequestBehavior.AllowGet);
这修复了我遇到的问题。问题在于我没有在Json返回语句中包含关键字
data
,如下所示:
return Json(new { data = evaluations }, JsonRequestBehavior.AllowGet);
这解决了我的问题