2015-01-29 2 views
0

EDIT: Без жесткого кодирования sEchoJQuery DataTable - обработка на стороне сервера не отвечает

enter image description here

EDIT:

<div class="row"> 
    <div class="col-md-12"> 
     <div class="panel panel-default"> 
     <h3 class="panel-heading">Information</h3> 
     <div class="panel-body"> 
      <div class="tab-content"> 
      <div class="tab-pane active" id="dt_vendor"> 
       <table id="dt_vendor"> 
       <thead> 
        <tr> 
        <th>Id</th> 
        <th>Name</th> 
        </tr> 
       </thead> 
       </table> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 

У меня есть объект JSON, который я получаю от .Net , объект JSON создается в соответствии с указанным форматом. Но я не вижу, что он загружает данные, и я проверил в консоли Chrome, и я не вижу ошибок, у меня есть более 15 000 записей, что мне не хватает, и я знаю, что это должно быть очень глупо.

JSON объект:

enter image description here

<script> 
     $(document).ready(function() { 
     $("#dt_vendor").dataTable({  

      "oLanguage": { 
       "sZeroRecords": "No records to display", 
       "sSearch": "Search..." 
      }, 
      'iDisplayLength': 10, 
      "lengthMenu": [ 5, 10, 20, 30, 50, 100 ], 
      "bSortClasses": false, 
      "bStateSave": false, 
      "bPaginate": true, 
      "bAutoWidth": false, 
      "bProcessing": true, 
      "bServerSide": true, 
      "bDestroy": true, 
      "sAjaxSource": "@Url.Action("GetAjaxData", "Vendor")", 
      "bJQueryUI": true, 
      "sPaginationType": "full_numbers", 
      "bDeferRender": true, 

      "fnServerData": function (sSource, aoData, fnCallback) { 
       debugger; 
       $.ajax({ 
        "dataType": 'json', 
        "contentType": "application/json; charset=utf-8", 
        "type": "GET", 
        "url": sSource, 
        "aadata": aoData, 
        "success": 
           function (msg) 
           {  
            var json = jQuery.parseJSON(msg.d); 
            fnCallback(json); 
            $("#dt_vendor").show(); 
           } 
       }); 
      } 

     }); 

     }); 
    </script> 

ответ

0

Оригинал ответ

Вот несколько мыслей, для отладки:

  • Вы жестко кодируете значение «sEcho» или возвращаете предоставленное значение? DataTable использует это, чтобы убедиться, что он обрабатывает ответ на свой последний запрос.
  • Попробуйте ввести пустой <tbody> тег внутри таблицы < > просто для того, чтобы убедиться, что он существует.

Решение

Убедитесь, что значение sEcho включено в ответ из кода .NET является такой же, как значение sEcho предоставленной в запросе кода .NET.

+0

Я жестко кодирую 'sEcho', не должен ли я? а также я попытался с добавлением '' внутри таблицы, но все тот же. –

+0

Нет, не жёсткий код 'sEcho'. Верните значение, которое вы получите для 'sEcho'. DataTable отправляет уникальное значение для 'sEcho' каждый раз, когда он делает запрос, и ожидает, что ответ будет иметь то же значение в' sEcho'. –

+0

Я вынул жесткое кодирование 'sEcho', но не имеет значения, пожалуйста, посмотрите мой обновленный вопрос на снимке экрана. –

Смежные вопросы