在排序、更改行选择限制或使用全局搜索后,jquery datatable未自动重新加载

在排序、更改行选择限制或使用全局搜索后,jquery datatable未自动重新加载,jquery,jquery-plugins,datatables,Jquery,Jquery Plugins,Datatables,我正在服务器端为dataTable实现排序(ORDERBY)。即使我的数据得到了正确的排序,所有的sessms都会很好(我可以在firebug中检查)。现在的问题是,在此之后datatable不会重新加载,并且“processing…”会继续出现。任何关于在何处编写重载函数的线索。我知道这是可以做到的 oTable.fnDraw(true); 但我不知道在点击标题进行排序后在哪里写。如果需要调试任何代码段,请告诉我 编辑1** 即使在使用全局搜索或更改要显示的行数后,我也无法重新加载表。知道

我正在服务器端为dataTable实现排序(ORDERBY)。即使我的数据得到了正确的排序,所有的sessms都会很好(我可以在firebug中检查)。现在的问题是,在此之后datatable不会重新加载,并且“processing…”会继续出现。任何关于在何处编写重载函数的线索。我知道这是可以做到的

 oTable.fnDraw(true);
但我不知道在点击标题进行排序后在哪里写。如果需要调试任何代码段,请告诉我

编辑1**

即使在使用全局搜索或更改要显示的行数后,我也无法重新加载表。知道为什么会这样吗

var oTable = $('#datatable').dataTable( {
                "bProcessing": true,
                "bServerSide": true,
                "sAjaxSource": "datatableprocessor",
                "sPaginationType": "full_numbers",
                 "fnRowCallback": function (nRow, aData, iDisplayIndex) { return nRow; },
                "fnServerData": function ( sSource, aoData, rfrshCallbk ) {
                    $('.search').each(function(index) {
                        var name =  $(this).attr("name");
                        var tempName = name.replace("search","condition" );
                        var condition = $("[name='"+tempName+"']").val();
                        var value = $(this).val();
                        aoData.push({ "name": name, "value": value+""+condition });
                    });
                    aoData.push({ "name": "queryId", "value": "test" });
                    $.ajax( {
                            "dataType": 'json',
                            "type": "POST",
                            "url": sSource,
                            "data": aoData,
                            "success": rfrshCallbk

                    } );
                },
                "aoColumnDefs": [
                  { "sName": "c.id", "aTargets": [ 0 ] },
                  { "sName": "c.firstname", "aTargets": [ 1 ] },
                  { "sName": "c.lastname", "aTargets": [ 2 ] },
                  { "sName": "c.telephone", "aTargets": [ 3 ] }

                ]


            } );//
编辑2----- 我试图检查Json提交是否正确,所以为了调试,我将代码改为

 "success": function(json){
        alert(JSON.stringify(json));
                    rfrshCallbk(json);
 }

在这两种情况下,当我重新加载页面或对json字符串进行排序时,json字符串是相同的??!!??不知道怎么了

重新加载我们使用的dataTable数据

oTable.fnDraw();
不是 可旋转。fnDraw(真);
,写在执行单击事件的位置。

我得到了解决方案,我没有实现“sEcho”,每次都将“sEcho”作为“1”发回,这使我无法获得刷新列表。

谢谢!!但是我不执行任何单击操作,即使它不是由dataTable自动触发的,并且通过firebug我可以看到ajax返回正确的结果。关于如何从ajax中提取响应并执行重新绘制,有什么想法吗???@Vyas,好的,如果您的dataTable正在执行排序,我知道了,搜索操作可能无法再次重新加载。这是我初始化的代码。var oTable=$('#DataTable').DataTable({“bServerSide”:true,“bAutoWidth”:false,“bProcessing”:true,“fnRowCallback”:函数(nRow,aData,iDisplayIndex){return nRow;},“aoColumns”:[{/*您提到的列*/} ]});在这里我没有提到任何重新加载及其工作在这里我错过了url,“sAjaxSource”:“/*您的服务器url*/”,奇怪的是,它们在我的代码中没有太大的差异,您能检查一下编辑后的帖子吗