Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 在数据表中以json格式从控制器获取数据_Javascript_Jquery_Asp.net Mvc_Datatable - Fatal编程技术网

Javascript 在数据表中以json格式从控制器获取数据

Javascript 在数据表中以json格式从控制器获取数据,javascript,jquery,asp.net-mvc,datatable,Javascript,Jquery,Asp.net Mvc,Datatable,情况是这样的 我正在DataTableJS中使用ajax调用来绑定表中的json数据 现在我直接使用json文件进行数据绑定 现在我想从我的数据库中访问数据,我已经为它编写了一个 方法,该方法返回json值 但是我不能像调用json文件那样调用这个方法 在ajax中。请提出解决方案 下面是代码示例 var table = $('#example').DataTable({ "ajax": "/content/data/dataList.json", //here I want

情况是这样的

  • 我正在DataTableJS中使用ajax调用来绑定表中的json数据
  • 现在我直接使用json文件进行数据绑定
  • 现在我想从我的数据库中访问数据,我已经为它编写了一个 方法,该方法返回json值
  • 但是我不能像调用json文件那样调用这个方法 在ajax中。请提出解决方案

    下面是代码示例

    var table = $('#example').DataTable({
            "ajax": "/content/data/dataList.json", //here I want the url of my method.
            "bDestroy": true,
            "iDisplayLength": 15,
            "columns": [
                {
                    "class": 'details-control',
                    "orderable": false,
                    //"data": null,
                    "defaultContent": ''
                },
                { "data": "name" },
            ],
            "order": [[1, 'asc']],
            "fnDrawCallback": function (oSettings) {
                runAllCharts();
            }
        }); 
    
和我的方法id:

//Controller Name AppDetail
    public string getData(string ddlid)
    {
        DataTable ddl = new DataTable();
        string query = string.Empty;
        if (ddlid == "O1")
        {
            query = "SELECT for O1";
        }
        else if (ddlid == "O2")
        {
            query = "SELECT for O2";
        }
        con.Open();
        MySqlDataAdapter da = new MySqlDataAdapter(query, con);
        da.Fill(ddl);
        con.Close();
        System.Web.Script.Serialization.JavaScriptSerializer jSearializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        return jSearializer.Serialize(ddl);               
    }
下面是json数据示例

    {
    "data": [
         {
            "name": "Aladdin"
        }  
    ]
}

请提供帮助。

如果您的控制器工作,您可以在DataTables之前调用它,并通过DataTables的data()源插入数据。

如果您不使用服务器端处理方法,请首先使用ajax方法获取所有数据,然后在数据表上使用该数据。请看下面的代码。。。这可能有助于你了解一些情况

  $.ajax({
            url: 'api/AppDetail/getData',
            method: 'get',
            data :{ddlid:'01'},          // this is input parameter for your function
            dataType: 'json',
            contentType: 'text/json',
            success: function(res){
                var table=$('#example').dataTable({
                    data: res,
                    columns:[
                           {'data':'name'}
                      ],
                     bDestroy : true,
                iDisplayLength : 15,
                 });  
            }
        });

在控制器上,如果您正在获取所需的数据,则可以将该数据返回到局部视图。 请注意,部分视图不是一个基于Razor语法或其他任何东西的html表。 然后进行ajax调用以返回此部分视图,成功后可以应用数据表插件

<div id=MyTable></div>
$.ajax({
        type: 'GET',
        url: ControllerName/ActionName=partialView Which makes table. 
        success: function (data) {
            debugger;
            $('#MyTable').html(data); //Puting result of ajax call to the  div which containg Id,
            $('#PartilView_Table').DataTable({  // Applying DataTable Plugin table inside partialView                               
                "bProcessing": true,
                "bDeferRender": true,
                "scrollX": true,
                "stateSave": true,
                "bAutoWidth": true,
                "bSort": false,
                "columnDefs": [
                  {

                  }
                ]
              });
      },
      });

$.ajax({
键入:“GET”,
url:ControllerName/ActionName=partialView,用于生成表。
成功:功能(数据){
调试器;
$(“#MyTable”).html(数据);//将ajax调用的结果放入包含Id的div,
$('#partialView_Table')。DataTable({//在partialView中应用DataTable插件表
“bProcessing”:正确,
“bDeferRender”:没错,
“scrollX”:正确,
“国家拯救”:没错,
“bAutoWidth”:没错,
“bSort”:错误,
“columnDefs”:[
{
}
]
});
},
});
希望这对你有帮助