[英]Not able to bind data to datatable in ASP.NET MVC
下面是我的 ASP.NET MVC 项目中的代码。 我正在使用数据表来创建一个表。 我正在从 Web API 获取数据。 正在返回数据,但在绑定时出现此处显示的错误。 我尝试删除很多带有按钮的代码。 现在我只有简单地绑定它的代码。
数据表警告:表 ID=患者 - ajax 错误。 有关此错误的更多信息,请参阅http://datatables.net/tn/7
jQuery 代码:
$(document).ready(function () {
debugger;
var table = $("#patients").DataTable({
ajax: {
url: "/api/patients",
dataSrc: ""
},
columns: [
{
data: "First_Name"
},
{
data: "phoneNumber",
render: function (data) {
debugger;
return data.toString().replace(
/(\d\d\d)(\d\d\d)(\d\d\d\d)/g, '$1-$2-$3');
}
},
{
data: "Address"
},
]
});
});
来自控制器的 API 代码:
public IHttpActionResult GetPatients()
{
var patientDto = getdata();
return Ok(patientDto);
}
public IEnumerable<Patient_Response> getdata()
{
IEnumerable<Patient_Response> students = null;
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer 0f6af107-6ad2-4665-ad24-f09402d50082");
client.BaseAddress = new Uri("http://localhost:6600/api/");
// HTTP GET
var responseTask = client.GetAsync("patients");
responseTask.Wait();
var result = responseTask.Result;
if (result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsAsync<IList<Patient_Response>>();
readTask.Wait();
students = readTask.Result;
}
else //web api sent error response
{
// log response status here..
students = Enumerable.Empty<Patient_Response>();
ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
}
}
return students;
}
怎么了? 我无法弄清楚。
您是否阅读过文档: https : //datatables.net/manual/tech-notes/7
当 jQuery 陷入其错误回调处理程序(此回调内置于 DataTables 中)时,就会发生这种情况,这通常会在服务器以 2xx HTTP 状态代码以外的任何内容进行响应时发生。
这意味着你的调用转到控制器,未能带来任何数据。
您可以使用以下代码查看出错的地方:
$.fn.dataTable.ext.errMode = 'none';
$('#patients')
.on( 'error.dt', function ( e, settings, techNote, message ) {
alert( 'An error has been reported by DataTables: ', message );
} )
.DataTable();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.