无法读取未定义的属性“重新加载”

时间:2018-07-12 11:26:26

标签: jquery html ajax java-ee refresh

我有一个ajax调用,该调用返回一个数据列表,但是我在刷新表时遇到了一些麻烦,我知道它们已经是与此主题有关的许多主题,并且我阅读了所有这些主题,但没有找到解决方案。 这是我的Jquery:

<script>
    $(document).on("change", "#process", function() {  
    var process=$('#process').val();
    var lignes=$('#lignes').val();
    $.ajax({
        type:'POST',
        url : "/tps_assy-web/equilibrageReloadTableOperation",
        data:{lignes: lignes, process: process},
        success: function(json){  
            $('#tableAvant').ajax.reload(null, false);
        }
    }); 
});
</script>

我的桌子是:

<table id="tableAvant" class="table table-bordered table-condensed table-hover">
 <tr>
     <th class="text-center "><div class="rotate ">Ordre</div></th>
     <th class="text-center "><div class="rotate ">Nom Pross</div></th>
     <th class="text-center "><div class="rotate ">Verbe</div></th>
     <th class="text-center "><div class="rotate ">Nom Op</div></th>
     <th class="text-center "><div class="rotate ">Mini</div></th>
     <th class="text-center "><div class="rotate ">Maxi</div></th>
     <th class="text-center "><div class="rotate ">Tps Total</div></th>
     <th class="text-center "><div class="rotate ">Tps Mesure</div></th>
     <th class="text-center "><div class="rotate ">Tps Retour</div></th>
     <th class="text-center "><div class="rotate ">TDA</div></th>
     <th class="text-center "><div class="rotate ">% Opera</div></th>
     <th class="text-center "><div class="rotate ">Loc Avant</div></th>
</tr>
<tbody>
 <tr th:each="LIST : ${LigneAvant}">
    <td  th:text="${LIST[0]}" ></td>
    <td th:text="${LIST[1]}" ></td>
    <td  th:text="${LIST[2]}" ></td>
    <td th:text="${LIST[3]}" ></td> 
    <td  th:text="${LIST[4]}" ></td>
    <td class="ellipsis" th:text="${LIST[5]}" ></td>
    <td class="ellipsis" th:text="${LIST[6]}" ></td>    
    <td  class="ellipsis" th:text="${LIST[7]}" ></td>
    <td  class="ellipsis" th:text="${LIST[8]}" ></td>
    <td  class="ellipsis" th:text="${LIST[9]}" ></td>
    <td class="ellipsis" th:text="${LIST[14]}" ></td>
    <td class="ellipsis" th:text="${LIST[15]}" ></td>   
     </tr>
     </tbody>
 </table>

我只需要对这个精确的句子有所帮助:

$('#tableAvant').ajax.reload(null, false);

我已经尝试了:

$('#tableAvant').dataTable( ).api().ajax.reload();

$('#tableAvant').DataTable( ).api().ajax.reload();

但这并不成功...

2 个答案:

答案 0 :(得分:0)

我对AJAX的这种用法类型不熟悉,但是在网上快速浏览后,我认为我可能遇到了问题。看起来.ajax.reload()只能在DataTable对象上调用,就像您的示例只是在元素上调用一样。

我怀疑您与$('#tableAvant').DataTable().ajax.reload(null, false);关系密切,但尝试将{ ajax: "data.json" }传递给DataTable对象。

EG: $('#tableAvant').DataTable({ajax: "data.json"}).ajax.reload(null, false);

答案 1 :(得分:0)

好吧,我的错误是不包含

<script th:src="@{/js/datatables.min.js}"></script>

我的表格也格式不正确,要使用此脚本,您需要有一个看起来像这样的表格:

<table id="exemple">
    <thead>
        <tr>
            <th>title-1</th>
            <th>title-2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>data-1</td>
            <td>data-2</td>
        </tr>
    </tbody>
</table>

感谢大家的帮助,谢谢:)