Javascript 使jquery datatables提取并使用从Rpc服务器返回的json的给定部分
我有一个json rpc服务器,它以给定的模式服务和重新运行json,包括id结果和json字符串的jsonrpc键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浏览器中出现响
{
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”