我使用的是帶有VB代碼的jQuery DataTables。我正在嘗試編寫一個自定義的Excel導出,因爲內置的Excel導出功能不適用於大型數據集。jQuery DataTables循環引用錯誤
另外,我想導出已經在搜索框中過濾的行。
JS:
excelExport: function() {
var table = $('#myTable').DataTable();
//filtered rows data as arrays
var filteredData = table.rows({ filter: 'applied' }).data();
PageMethods.ExcelExport(filteredData);
}
的filteredData
輸出到控制檯,這樣的:
[ Array[20], Array[20], Array[20],...]
這似乎喜歡的事,我可以工作。當我嘗試使用PageMethods
傳遞對象返回給服務器端我得到這個可怕的錯誤:
Uncaught Error: Sys.InvalidOperationException: Cannot serialize object with cyclic reference within child properties.
然後我試圖傳遞filteredData
通過JSON.stringify
,並得到了類似的錯誤:
Uncaught TypeError: Converting circular structure to JSON
有沒有人穿越這個或有任何想法如何解決這個問題?到目前爲止,我的研究還沒有提出解決方案。
或者是否有更好的方法來處理這些jQuery數據表的導出,這些數據表適用於更大的數據集?
這聽起來在你的過濾對象中存在的不僅僅是數據。當我嘗試使用JSON.stringify和包含一個函數的對象時,我發現錯誤。 – Bindrid
@Bindrid謝謝你的洞察力。在這種情況下,這不是問題。我在下面發表了我的發現。 – Scott