Я пытаюсь следовать примеру данных для источника данных Ajax (объектов), найденного here. Я использую asp.net и имею следующий обработчик, который получает мои данные, обрабатывает и предоставляет ответ.JQuery Datatables Ajax Response
public class UsersHandler : IHttpHandler
{
private const string JsHeader = @"{{""data"" {0}}}";
public void ProcessRequest(HttpContext context)
{
IEnumerable<SystemUser> data = SystemUserLogic.LoadAllSystemUsers();
List<SimpleUser> userlist = new List<SimpleUser>();
foreach (SystemUser su in data)
{
SimpleUser simple = new SimpleUser();
simple.Id = su.Id;
simple.FullName = su.NameFirst;
simple.Email = "[email protected]";
userlist.Add(simple);
}
string json = JsonConvert.SerializeObject(userlist, Formatting.Indented);
context.Response.ContentType = "text/plain";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Cache.SetNoStore();
context.Response.Expires = -1;
context.Response.Write(String.Format(JsHeader, json));
}
, который передает правильный ответ, когда я улавлю его в браузере и просматриваю данные через сетевой трафик. Моя страница aspx содержит следующее.
$('#table_id').DataTable({
"ajax": '/Handlers_New/UsersHandler.ashx',
"columns": [
{ "data": "Id" },
{ "data": "FullName" },
{ "data": "Email" },
{ "data": "KeyResource" }
]
});
Однако при загрузке страницы, я получаю эту ошибку:
DataTables предупреждение: таблица ID = table_id - Invalid JSON ответ. Для получения дополнительной информации об этой ошибке, пожалуйста, см http://datatables.net/tn/1
Выведенных данные выглядят следующим образом,
{"data" [
{
"Id": 1,
"FullName": "Admin",
"Email": "[email protected]",
"KeyResource": false
},
{
"Id": 2,
"FullName": "Jon",
"Email": "[email protected]",
"KeyResource": false
},
{
"Id": 3,
"FullName": "Stephen",
"Email": "[email protected]",
"KeyResource": false
}, etc.....
Пожалуйста, скажи мне, почему я получаю эту ошибку. Должен ли я манипулировать json-объектом по-разному, или я что-то пропускаю с данными JQuery datatables?
Вы включаете необходимые файлы библиотеки jQuery? Не могли бы вы добавить свой html-код для таблицы? Кроме того, посмотрите на эту [ссылочную ссылку] (http://www.datatables.net/manual/tech-notes/1). Убедитесь, что вы полностью подтвердили возвращенный Json – Chris
Да, файлы jQuery были включены в правильном порядке. Моя таблица просто содержит таблицу с несколькими td внутри thead для заголовков столбцов. Я также проверял ответ без проблем, статус ответа правильный и т. Д., Возвращаемые данные похожи на приведенные выше, следуя из этой ссылки, которые генерируются сообщением об ошибке. :/Все еще застрял с этим ... –