【发布时间】:2013-11-22 11:13:08
【问题描述】:
我有这个看起来不错的数据表,但在 IE 中渲染需要整整 4 秒。在chrome中它非常快。 我知道速度问题不是因为服务器端,因为 ajax 响应在不到 0.5 秒内到达客户端。它只返回 21 行。 我做错了什么还是数据表很慢?
谢谢。
$.ajax({
type: "POST",
url: "GetData.asmx/GetEventMembers",
//data: {ShulID: iShulID, EventID: iEventID},
data: "{'ShulID': '" + iShulID
+ "','EventID': '" + iEventID + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
//sAjaxDataProp: "",
success: function (jsonRes)
{
var oTable = $('#tblEventMembers').dataTable({
"bDestroy": true,
"bJQueryUI": true,
"bProcessing": true,
"bDeferRender": true,
"bPaginate": false,
"sScrollY": "200px",
"aaData": $.parseJSON(jsonRes.d).aaData,
"aoColumns": [
{ "mData": "MemberID" },
{ "mData": "FName" },
{ "mData": "LName" },
{ "mData": "InvitationDate" },
{ "mData": "Approved" },
{ "mData": "Invited" }
]
});
},
failure: function (msg) {
alert(msg);
}
});
【问题讨论】:
-
添加
"bSortClasses": false并删除"bDestroy": true -
没有这样做。还是很慢。
-
也只是一个建议 :) 尽管数据表可能需要一些时间来呈现,但你永远不应该在 21 行时遇到这种延迟。另一件让我眼前一亮的事情:为什么是
$.parseJSON(jsonRes.d).aaData?这似乎完全没有必要,dataType: "json"已经确保您成功使用了有效的 JSON。尝试jsonRes.d.aaData代替(或者你的 json 结构是) -
当我删除 $.parseJson 时出现此错误:JavaScript 运行时错误:无法获取未定义或空引用的属性“长度”
-
现在我发现它只是在 IE 中很慢
标签: jquery client jquery-datatables