Datatable Ajax.Reload

时间:2014-08-05 17:57:36

标签: jquery datatable jquery-datatables

我有一个数据表,在首次加载页面时加载。 这是ajax电话。

    $(document).ready(function(){
    $("#queueListSelect").dataTable({
        "ajax": {
        "url": "-,
        "type": "GET",
        "dataType": "json",
        "contentType": "application/json; charset=utf-8",
        "success": function(data){
            var numberOfMessages = 0;
            for(var key in data.queueInformation){
                numberOfMessages++;
                $("#queueListSelect tbody").append('<tr id= "row'+numberOfMessages+'"><td id="queueName'+numberOfMessages+'">'+data.queueInformation[key].queueName+'</td><td>'+data.queueInformation[key].pendingMessageCount+'</td><td>'+data.queueInformation[key].pendingMessageSize+'</td><td>'+data.queueInformation[key].receiverCount+'</td><td>'+data.queueInformation[key].inTotalMessages+'</td><td>'+data.queueInformation[key].outTotalMessages+'</td><td>'+data.queueInformation[key].receiverCount+'</td></tr>');
            }
            //success function requires a return, this removes the "loading" row that appears in the dataTable
            $("#queueListSelect td.dataTables_empty").remove();
          }
        },
        "paging":   false,
        "scrollY": "390px",
        "scrollX":  true,
        "info":     false
    });
});

提交消息后,我希望使用ajax.reload功能重新加载dataTable,因此您将看到我有另一个用于提交消息信息的ajax调用。

        var queueTable = $("queueListSelect").DataTable();

    if ($("input[name=messageType]:checked").val() == "text"){
        var textBody = $('#textMessageBody').val();

        $.ajax ({
            url: "",
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({"queueName": queueName, "textBody": textBody, "jmsDeliveryMode": jmsDeliveryMode, "jmsDestination": jmsDestination, "jmsCorrelationID": jmsCorrelationID, "jmsType": jmsType, "jmsExpiration": jmsExpiration, "jmsPriority": jmsPriority}),
            success: function() {
                alert("Your message was sent"); 
            },
            complete: function(){
                $("#messageModalCloseButton").click();
                queueTable.clear();
                **queueTable.ajax.reload();**
            }
        });

发送此消息后,模式将关闭,表格应该根据消息中发送的信息进行更新。我的调试器中当前没有错误,当我在其上放置一个断点时,它表明它运行 - 这很奇怪,因为该表不包含新信息。刷新页面后,将显示新信息。

为什么这个数据表功能不起作用的任何想法? 我正在使用jquery和datatables版本1.10。

0 个答案:

没有答案