JQuery Datatable未从MVC控制器加载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

我有一个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>
            <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);
这解决了我的问题