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(); } });
//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”:[
{
}
]
});
},
});
希望这对你有帮助