2014-10-20 3 views
0

jquery.dataTables.js 버전 1.10.0을 사용하여 DataTable을 빌드하고 있습니다. 나는 서버 측 처리를 페이지 매김과 함께 사용하고 있으며 모든 것이 훌륭하게 작동하고있다. 브라우저 (Chrome 또는 IE 10)를 새로 고침하면 Ajax 코드가 실행되어 테이블이 새로 고침되지 않습니다. 그 때문에 테이블도 상쾌하지 않습니다. 브라우저에서 앞뒤로 이동하면 완벽하게 작동합니다.브라우저가 새로 고침 될 때 DataTable에서 Ajax 호출이 수행되지 않습니다.

브라우저 새로 고침시 DataTable을 강제로 다시로드해야하는 경우가 있습니까? 나는 '그릴'기능에 포인트를 끊거나 둘 때

 var dataTable = table.dataTable({ 
      "retrieve": true, 
      "lengthMenu": [ [10, 30, 50, -1], [10, 30, 50, "All"] ], 
      "serverSide": true, 
      "paging": true, 
      "searching":false, 
      "pageLength": 30, 
      "columns": [ { 
      "sTitle": "col1" 
      }, { 
      "sTitle": "col2" 
      } ], 
      "dom": '<"top"if>rt<"bottom"lp><"clear">', 
      "ajax": { 
       // set up input parameters 
       "data": function(data) { 
        var length = table.dataTable().api().page.len(); 
        var url = baseUrl + '/' + data.start + '/' + length; 
        table.dataTable().api().ajax.url(url); 
        draw = data.draw; 
        return {}; 
       }, 
       "url": baseUrl, //will be reset by data function 
       "dataFilter": function(data,type) { 

        var results = {}; 
        .... //reformat the REST response for DataTable 

        return JSON.stringify(results); 
       }, 
       "dataSrc": function(data) { 

        // hide length menu if records are less than minimum display 
        if (data.recordsTotal <= 10) { 
          $('#' + callType + relNcid + '_length').hide(); 
         } 

        // hide page menu if all records fit on this page 
        if (data.recordsTotal <= table.dataTable().api().page.len()) { 
         $('#' + callType + relNcid + '_paginate').hide(); 
        } else { 
         $('#' + callType + relNcid + '_paginate').show(); 
        } 
        table.addClass('table table-condensed'); 
        $anchorScroll(); 
        return transformRelDataForTable(data.data); 
       } 
      } 
     }); 

이 코드는하지만, 브라우저 새로 고침에서 실행되고있는이 'DataFilter를'함수가 중단 결코 :

여기 내 DataTable의 선언입니다.

내가 발견하고 문제를 해결 JQuery와 1.11.0 AngularJS와

답변

0

1.2.13을 사용하고 있습니다. 그것은 dataTables의 외부에있었습니다. 그것은 테이블에 침묵하는 실패에 의한 원인이었습니다. 내 코드 : JQuery와에 의해 참조되는 테이블이 아직 존재하지 않았기 때문에 그것이 NG 반복 조항의 일부와 각도 아직 DOM에 해당 노드를 렌더링되지 않았기 때문에

$('#' + relPosition).dataTable({.....}); 

는 자동으로 실패했습니다. dataTable 코드를 단계별로 살펴보면 테이블이 존재하지 않았기 때문에 모든 것이 단락되었음을 알았지 만,이 경우 dataTable 코드에서 예외를 throw하는 것이 매우 도움이되었습니다. 나에게 문제가 생길 날을 구했을거야.

관련 문제