簡體   English   中英

如何遍歷DataTables 2.1中的對象數組

[英]How to iterate over an array of objects in DataTables 2.1

HTML:

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/t/bs-3.3.6/jq-2.2.0,dt-1.10.11/datatables.min.css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.datatables.net/t/bs-3.3.6/jq-2.2.0,dt-1.10.11/datatables.min.js"></script> <table id="dTExample" class="display" cellspacing="0" width="100%"> <thead> <tr> <th>Account #</th> <th>Customer #</th> <th>Customer Name</th> <th>Location</th> <th>Address</th> <th>Product</th> </tr> </thead> </table>

JS:

function populateData(table) { var aTable; aTable = $(table).dataTable({ sAjaxSource: 'SamplePage.aspx', fnServerData: function (sSource, aoData, fnCallback) { JsonLoader("SamplePage.aspx/GetServiceLookupList", "{'idType': 'an', 'idValue': '123'}", fnCallback); }, columns: [ { data: "billAccountNumber" }, { data: "customerNumber" }, { data: "customerName" }, { data: "serviceLocationName" }, { data: "serviceLocationAddress" }, { data: "serviceComponentProductName" } ] }); }

function JsonLoader(url, data, fnCallback) { $.ajax({ type: "POST", url: url, contentType: "application/json; charset=utf-8", dataType: "json", data: data, success: function (result) { var objAjax = JSON.parse(result.d); fnCallback(objAjax); }, error: function (err, ajaxOptions, thrownError) { //Error } }); }

返回的JSON:

{“ iTotalRecords”:100,“ iTotalDisplayRecords”:100,“ aaData”:[{“ billAccountName”:“ FAKE CORP”,“ customerNumber”:“ 123”,“ customerName”:“ Fake”,“ serviceLocationName”:“ Fake Corp”,“ serviceLocationAddress”:“ PO BOX 123 Denver CO”,“ serviceComponentProductName”:“ Product X”},{“ billAccountName”:“ REAL CORP”,“ customerNumber”:“ 456”,“ customerName”:“ Real” ,“ serviceLocationName”:“ Real Corp”,“ serviceLocationAddress”:“郵政信箱456 Ft Collins CO”,“ serviceComponentProductName”:“產品Z”},[...]}

因此,aaData基本上是100個對象的數組,每個對象都有一個“ billAccountName”。 當我運行代碼時,表上的記錄數正確顯示,但表為空。 不確定如何迭代所有這些對象並將它們各自的字段名稱映射到表。 請幫忙。

返回的JSON具有“ iTotalRecords”:100,“ iTotalDisplayRecords”:100,這實際上是引起問題的原因。 您的Json應該是一個對象數組,該數組具有要在數據表中輸入的值。 您可以創建一個新數組並存儲[“ aaData”:[{“ billAccountName”:“ FAKE CORP”,“ customerNumber”:“ 123”,“ customerName”:“ Fake”,“ serviceLocationName”:“ Fake Corp”, “ serviceLocationAddress”:“郵政信箱123丹佛”,“ serviceComponentProductName”:“產品X”},{“ billAccountName”:“ REAL CORP”,“ customerNumber”:“ 456”,“ customerName”:“真實”,“ serviceLocationName “:” Real Corp“,” serviceLocationAddress“:”郵政信箱456 Ft Collins CO“,” serviceComponentProductName“:”產品Z“},{...},]]或返回的JSON應該像這樣(嚴格地在此格式):

{“ aaData”:[{“” billAccountName“:” FAKE CORP“,” customerNumber“:” 123“,” customerName“:” Fake“,” serviceLocationName“:” Fake Corp“,” serviceLocationAddress“:”郵政信箱123丹佛CO”,“ serviceComponentProductName”:“ Product X”},{“ billAccountName”:“ REAL CORP”,“ customerNumber”:“ 456”,“ customerName”:“ Real”,“ serviceLocationName”:“ Real Corp”,“ serviceLocationAddress “:” PO BOX 456 Ft Collins CO“,” serviceComponentProductName“:”產品Z“}]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM