Javascript 使jquery datatables提取并使用从Rpc服务器返回的json的给定部分

Javascript 使jquery datatables提取并使用从Rpc服务器返回的json的给定部分,javascript,jquery,ajax,jquery-datatables,json-rpc,Javascript,Jquery,Ajax,Jquery Datatables,Json Rpc,我有一个json rpc服务器,它以给定的模式服务和重新运行json,包括id结果和json字符串的jsonrpc键 { jsonrpc: "2.0" id: "1" result: "{"iTotalDisplayRecords":"2","iTotalRecords":"2","aaData": [["1","Kenya","Nairobi","0","34"],["2","USA","New York","70","38"]],"sEcho":0}" } 现在,在web浏览器中出现响

我有一个json rpc服务器,它以给定的模式服务和重新运行json,包括id结果和json字符串的jsonrpc键

{
jsonrpc: "2.0"
id: "1"
result: "{"iTotalDisplayRecords":"2","iTotalRecords":"2","aaData":   [["1","Kenya","Nairobi","0","34"],["2","USA","New York","70","38"]],"sEcho":0}"
}
现在,在web浏览器中出现响应之后,问题就出现了,datatables永远只显示来自服务器的存储数据

我试着添加

..."sAjaxDataProp":"",...
但这会导致找不到匹配的行。我在Rpc服务器中使用了与cgi脚本相同的coe,发现我获得了所需的输出,并且表填充良好。脚本的json响应如下所示

{"iTotalDisplayRecords":"2","iTotalRecords":"2","aaData":[["1","Kenya","Nairobi","0","34"],["2","USA","New York","70","38"]],"sEcho":1}
我想要一种方法,告诉datatables只选择jsonrpc请求的结果部分,以便按预期显示返回的数据

下面是我的javascript中的发送数据部分

oTable=$('#ip_data').dataTable( {
                            "bProcessing": true,
                             "bServerSide": true,
                             "bPaginate": true,
                             "bScrollCollpase": true,
                             "sScrollY": "200px",
                             "sAjaxSource": "/url",
                             "fnServerData": function (sSource, aoData, fnCallback, oSettings) {
                                aoData.push({"name":"method","value":"datatables"});
                                aoData.push({"name":"id","value":"1"});
                                oSettings.jqXHR = $.ajax({
                                    "dataType":"json",
                                    "type":"GET",
                                    "url":sSource,
                                    "data":aoData,
                                    "success":fnCallback
                                });//END OF AJAX                                                           
                    }//END OF FNSERVERDATA
            });//END OF DATATABLE

首先,使用datatables 1.10(并更新语法!)

第二,读这个 然后读这个

您的解决方案可能最终看起来像

var oTable = $('#ip_data').DataTable( {
    "serverSide": true,
    "ajax": {
        "url": "/url",
        "data": {
            "method": "datatables",
            "id": "1",
        }
    },
});
通过使用console.log(json.result),我获得了所需的响应。为什么fnCallback在我给它类似“success”的json.result参数时没有填充表:函数(json){console.log(json.result);fnCallback(json.result);表示无法读取未定义的属性“length”