0

ビューがレンダリングされ、データテーブルが空のときに js アラートとして警告をトリガーするこのコードの問題を修正しようとしています。私はこのプラグインを使用したことがないので、それがどのように機能するのかよくわかりません...したがって、基本的にビュー側には次のコードがあります:

var dataTable;
$(function () {
dataTable = $('#dataTable').dataTable({
        "bProcessing": true,
        "bServerSide": true,
        "iDisplayLength": 100,
        "sAjaxSource": "@Url.Action("Attendance", "Reports")",
        "aoColumnDefs": [
        {"bSortable":false,"aTargets":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]},
        {"bSearchable":false,"aTargets":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
        ],
        "fnServerData":function(sSource, aoData,fnCallback){   
            var from= $('#DateSelect').val();
            var until= $('#DateSelect2').val();                
            aoData.push({"name":"From","value":from},{"name":"Until","value":until});                
            $.getJSON( sSource, aoData, function (json) {               
                fnCallback(json)
            });
        }           
    }).fnSetFilteringDelay(300);        
 });

コードの下には、クリックすると dataTable.fnDraw() をトリガーする入力ボタンがあり、正常に動作します。したがって、基本的に、ここでの唯一の問題は、dataTable が空で警告が表示されるため、初めてビューをレンダリングするときです。

以下は、テーブルが空の場合のコントローラーからビューへの jSon 応答のサンプルです (警告が表示されます)。

 {"iTotalRecords":0,"iTotalDisplayRecords":0,"sEcho":1,"aaData":[[]]}

そして、これはうまくいくいくつかの結果を照会した後のjsonです:

 {"iTotalRecords":17,"iTotalDisplayRecords":17,"sEcho":2,"aaData":[["Venue 1","<div align=center>30</div>","<div align=center>4</div>","<div align=center>13</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>3</div>","<div align=center>1</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>3</div>","<div align=center>14</div>"],["Venue 2","<div align=center>41</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>"],["Venue 3","<div align=center>20</div>","<div align=center>3</div>","<div align=center>15</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>4</div>","<div align=center>4</div>","<div align=center>11</div>"],["Venue 4","<div align=center>46</div>","<div align=center>5</div>","<div align=center>10</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>1</div>","<div align=center>20</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>15</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>28</div>"],["Venue 5","<div align=center>18</div>","<div align=center>9</div>","<div align=center>50</div>","<div align=center>2</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>10</div>","<div align=center>1</div>","<div align=center>3</div>","<div align=center>21</div>"],["Venue 6","<div align=center>10</div>","<div align=center>4</div>","<div align=center>40</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>18</div>","<div align=center>3</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>4</div>","<div align=center>22</div>"],["Venue 7","<div align=center>44</div>","<div align=center>3</div>","<div align=center>6</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>4</div>"],["Venue 8","<div align=center>8</div>","<div align=center>1</div>","<div align=center>12</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>6</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>7</div>"],["Venue 9","<div align=center>23</div>","<div align=center>7</div>","<div align=center>30</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>15</div>"],["Venue 10","<div align=center>22</div>","<div align=center>1</div>","<div align=center>4</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>1</div>","<div align=center>4</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>7</div>"],["Venue 11","<div align=center>10</div>","<div align=center>2</div>","<div align=center>20</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>2</div>","<div align=center>10</div>","<div align=center>2</div>","<div align=center>5</div>","<div align=center>17</div>"],["Venue 12","<div align=center>17</div>","<div align=center>3</div>","<div align=center>17</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>4</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>7</div>"],["Venue 13","<div align=center>23</div>","<div align=center>10</div>","<div align=center>43</div>","<div align=center>4</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>13</div>","<div align=center>1</div>","<div align=center>5</div>","<div align=center>23</div>"],["Venue 14","<div align=center>21</div>","<div align=center>2</div>","<div align=center>9</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>15</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>17</div>"],["Venue 15","<div align=center>6</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>1</div>","<div align=center>6</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>14</div>"],["Venue 16","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>"],["Venue 17","<div align=center>25</div>","<div align=center>6</div>","<div align=center>24</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>3</div>","<div align=center>3</div>","<div align=center>13</div>"],["<b>TOTAL Venezuela</b>","<div align=center><b>364</b></div>","<div align=center><b>61</b></div>","<div align=center><b>16</b></div>","<div align=center><b>11</b></div>","<div align=center><b>35</b></div>","<div align=center><b>1</b></div>","<div align=center><b>2</b></div>","<div align=center><b>0</b></div>","<div align=center><b>47</b></div>","<div align=center><b>8</b></div>","<div align=center><b>114</b></div>","<div align=center><b>16</b></div>","<div align=center><b>35</b></div>","<div align=center><b>223</b></div>"]]}
4

2 に答える 2

2

返送する必要があります。

{"iTotalRecords":0,"iTotalDisplayRecords":0,"sEcho":1,"aaData":[]}

それ以外の場合、空の配列ではなく、空の配列である 1 つの要素を持つ配列として解釈されます。

于 2011-12-06T13:45:18.230 に答える
1

"aaData":[]代わりに返送してみてください"aaData":[[]](内側の括弧を削除してください)

于 2011-12-06T11:42:57.733 に答える