Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTable给了我一个ajax错误,并且没有';t呈现表格,asp.net mvc 5_Javascript_C#_Jquery_Asp.net Mvc 5_Datatables - Fatal编程技术网

Javascript DataTable给了我一个ajax错误,并且没有';t呈现表格,asp.net mvc 5

Javascript DataTable给了我一个ajax错误,并且没有';t呈现表格,asp.net mvc 5,javascript,c#,jquery,asp.net-mvc-5,datatables,Javascript,C#,Jquery,Asp.net Mvc 5,Datatables,我在asp.NETMVC5中使用jQueryDataTables作为表格数据。我有以下问题,当我输入到应该出现datatable的URL时,该表给了我一个错误,因此选择datatable用于请求数据的URL请求并手动输入 但是,如果我使用邮递员执行此请求,则请求将按预期工作 这是我的控制器的截图: public ActionResult List(PagedListRequestViewModel pagedListRequestViewModel) { var pa

我在asp.NETMVC5中使用jQueryDataTables作为表格数据。我有以下问题,当我输入到应该出现datatable的URL时,该表给了我一个错误,因此选择datatable用于请求数据的URL请求并手动输入

但是,如果我使用邮递员执行此请求,则请求将按预期工作

这是我的控制器的截图:

 public ActionResult List(PagedListRequestViewModel pagedListRequestViewModel)
    {
        var pagedListRequest = Mapper.Map<PagedListRequest>(pagedListRequestViewModel);

        PagedListResult<VacancyDTO> pagedListResult =
            _vacancyService.GetAllVacancies(pagedListRequest);

        var pagedResultViewModel = new PagedListViewModel<VacancyViewModel>
        {
            draw = pagedListRequestViewModel.draw,
            recordsFiltered = pagedListResult.Count,
            recordsTotal = pagedListResult.Count,
            data = Mapper.Map<IEnumerable<VacancyViewModel>>(pagedListResult.Entities)
        };

        return Json(pagedResultViewModel, JsonRequestBehavior.AllowGet);
    }
我的js的一个片段:

<script>
        var vacancyListUrl = "/vacancy/list";
        $("#vacancydt").DataTable(
        {
            processing: true,
            serverSide: true,
            ajax: vacancyListUrl,
            ordering: false,
            columns: [
            {
                "data": "DepartmentName",
                render: function (data, type, row, meta) {
                    return "<a href=/department/detail/" + row.DepartmentId + ">" + data + "</a>";
                }
            },
            {
                "data": "Title",
                render: function (data, type, row, meta) {
                    return "<a href=/vacancy/detail/" + row.Id + " >" + data + "</a>";
                }
            },
            {
                "data": "QuantityOfPositions"
            },
            { "data": "RequestedDate" },
            { "data": "OpenPosition" },
            { "data": "ClosedPosition" },
            { "data": "ClosedDate" },
            { "data": "TimeToRespond" },
            { "data": "VacancyType" }
            ]
        }
        );
</script>
jquery datatable发出的请求:

http://localhost:9765/vacancy/list?draw=1&columns[0][data]=DepartmentName&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=false&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=Title&columns[1][name]=&columns[1][searchable]=true&columns[1][orderable]=false&columns[1][search][value]=&columns[1][search][regex]=false&columns[2][data]=QuantityOfPositions&columns[2][name]=&columns[2][searchable]=true&columns[2][orderable]=false&columns[2][search][value]=&columns[2][search][regex]=false&columns[3][data]=RequestedDate&columns[3][name]=&columns[3][searchable]=true&columns[3][orderable]=false&columns[3][search][value]=&columns[3][search][regex]=false&columns[4][data]=OpenPosition&columns[4][name]=&columns[4][searchable]=true&columns[4][orderable]=false&columns[4][search][value]=&columns[4][search][regex]=false&columns[5][data]=ClosedPosition&columns[5][name]=&columns[5][searchable]=true&columns[5][orderable]=false&columns[5][search][value]=&columns[5][search][regex]=false&columns[6][data]=ClosedDate&columns[6][name]=&columns[6][searchable]=true&columns[6][orderable]=false&columns[6][search][value]=&columns[6][search][regex]=false&columns[7][data]=TimeToRespond&columns[7][name]=&columns[7][searchable]=true&columns[7][orderable]=false&columns[7][search][value]=&columns[7][search][regex]=false&columns[8][data]=VacancyType&columns[8][name]=&columns[8][searchable]=true&columns[8][orderable]=false&columns[8][search][value]=&columns[8][search][regex]=false&start=0&length=10&search[value]=&search[regex]=false&_=1444758438997

这是与c#有关的错误。使用调试器。您试图访问的对象属性为null。所以例外。这个
pagedListResult
可能是空的。控制器没有被这个请求击中,我已经设置了一个断点,操作和控制器的构造函数都没有被调用。可能http管道中存在异常。无论我修复了什么,都可以通过POST请求调用操作。它是有效的,但是我仍然想知道GET请求会发生什么,以及为什么相同的请求与postman一起工作,而与datatable pluginOK问题不一起工作是为了post和GET。如果您有许多列和筛选器,则必须使用use post:true,因为datatable会向服务器发送许多列。使用“获取url”将超出url的最大长度。所以你必须使用post。它很有道理,谢谢@JSantosh
{
  "draw": 1,
  "recordsTotal": 3,
  "recordsFiltered": 3,
  "data": [
    {
      "Id": 4,
      "Title": "Analista de Sistema",
      "QuantityOfPositions": 5,
      "RequestedDate": "09/10/2015",
      "ClosedDate": "16/10/2015",
      "OpenPosition": 0,
      "ClosedPosition": 0,
      "Salary": 20000,
      "AmountOfBenefits": 0,
      "CompesationTotal": 0,
      "TimeToRespond": 7,
      "DepartmentId": 1,
      "DepartmentName": "Tecnologia",
      "VacancyType": "Nuevo puesto"
    },
    {
      "Id": 5,
      "Title": "Personal de limpieza",
      "QuantityOfPositions": 5,
      "RequestedDate": "14/10/2015",
      "ClosedDate": "19/10/2015",
      "OpenPosition": 0,
      "ClosedPosition": 0,
      "Salary": 10000,
      "AmountOfBenefits": 0,
      "CompesationTotal": 0,
      "TimeToRespond": 5,
      "DepartmentId": 5,
      "DepartmentName": "Operaciones",
      "VacancyType": "Nuevo puesto"
    },
    {
      "Id": 6,
      "Title": "Hola Mundo",
      "QuantityOfPositions": 5,
      "RequestedDate": "12/10/2015",
      "ClosedDate": "N/A",
      "OpenPosition": 5,
      "ClosedPosition": 0,
      "Salary": 10000,
      "AmountOfBenefits": 0,
      "CompesationTotal": 0,
      "TimeToRespond": 0,
      "DepartmentId": 1,
      "DepartmentName": "Tecnologia",
      "VacancyType": "Reemplazo"
    }
  ]
}
http://localhost:9765/vacancy/list?draw=1&columns[0][data]=DepartmentName&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=false&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=Title&columns[1][name]=&columns[1][searchable]=true&columns[1][orderable]=false&columns[1][search][value]=&columns[1][search][regex]=false&columns[2][data]=QuantityOfPositions&columns[2][name]=&columns[2][searchable]=true&columns[2][orderable]=false&columns[2][search][value]=&columns[2][search][regex]=false&columns[3][data]=RequestedDate&columns[3][name]=&columns[3][searchable]=true&columns[3][orderable]=false&columns[3][search][value]=&columns[3][search][regex]=false&columns[4][data]=OpenPosition&columns[4][name]=&columns[4][searchable]=true&columns[4][orderable]=false&columns[4][search][value]=&columns[4][search][regex]=false&columns[5][data]=ClosedPosition&columns[5][name]=&columns[5][searchable]=true&columns[5][orderable]=false&columns[5][search][value]=&columns[5][search][regex]=false&columns[6][data]=ClosedDate&columns[6][name]=&columns[6][searchable]=true&columns[6][orderable]=false&columns[6][search][value]=&columns[6][search][regex]=false&columns[7][data]=TimeToRespond&columns[7][name]=&columns[7][searchable]=true&columns[7][orderable]=false&columns[7][search][value]=&columns[7][search][regex]=false&columns[8][data]=VacancyType&columns[8][name]=&columns[8][searchable]=true&columns[8][orderable]=false&columns[8][search][value]=&columns[8][search][regex]=false&start=0&length=10&search[value]=&search[regex]=false&_=1444758438997