Ajax 데이터 소스 (오브젝트)에 대한 데이터 테이블 예를 따라 here을 찾으려고합니다. asp.net을 사용하고 있으며 다음 데이터를 수신하고 처리하고 응답을 제공하는 처리기가 있어야합니다.Jquery Datatables Ajax 응답
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 페이지에는 다음이 포함되어 있습니다.
DataTables 경고 : - 잘못된 JSON 응답 = 내 table_id 테이블 ID
$('#table_id').DataTable({
"ajax": '/Handlers_New/UsersHandler.ashx',
"columns": [
{ "data": "Id" },
{ "data": "FullName" },
{ "data": "Email" },
{ "data": "KeyResource" }
]
});
그러나 페이지가로드, 나는이 오류를 얻고있다 때. 이 오류에 대한 자세한 내용은 출력 된 데이터는 다음과 같습니다 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 데이터 테이블로 무언가를 놓치고 있습니까?
필요한 jQuery 라이브러리 파일을 포함하고 있습니까? 테이블에 html 코드를 추가 할 수 있습니까? 또한이 [datable reference] (http://www.datatables.net/manual/tech-notes/1)를보십시오. 반환 된 Json – Chris
그래, jQuery 파일이 올바른 순서로 포함되었는지 확인하십시오. 내 테이블에는 단순히 열 머리글에 대해 여러 개의 td가있는 테이블이 포함되어 있습니다. 또한 문제가없는 응답, 응답 상태가 올바른지 확인한 후 반환 된 데이터는 오류 메시지에 의해 생성 된 해당 링크를 따라 위와 같습니다. :/아직도 이걸로 붙어 ... –