1
我想要遵循數據表示的示例爲Ajax數據源(對象)發現here。我使用的是asp.net,並具有以下接收我的數據,處理它並提供響應的處理程序。jquery數據表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頁面包含以下內容。
$('#table_id').DataTable({
"ajax": '/Handlers_New/UsersHandler.ashx',
"columns": [
{ "data": "Id" },
{ "data": "FullName" },
{ "data": "Email" },
{ "data": "KeyResource" }
]
});
但是在頁面加載時,我收到此錯誤:
數據表警告:表ID = table_id的 - 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數據表?
你是否包含必要的jQuery庫文件?你可以添加你的表格的HTML代碼?另外,看看這個[datable參考](http://www.datatables.net/manual/tech-notes/1)。確保你完全驗證了返回的Json – Chris 2014-11-04 16:08:31
是的,jQuery文件已經包含在正確的順序。我的表只是簡單地包含一個表格,其中包含多個用於列標題的td。我也檢查了沒有問題的響應,響應狀態是正確的等等,返回的數據就像上面那樣,從錯誤信息生成的那個鏈接之後。 :/仍堅持這個... – 2014-11-04 18:00:57