制作 jquery 数据表以提取和使用从 Rpc 服务器返回的 json 的给定部分
Posted
技术标签:
【中文标题】制作 jquery 数据表以提取和使用从 Rpc 服务器返回的 json 的给定部分【英文标题】:Make jquery datatables to extract and use a given part of a returned json from an Rpc server 【发布时间】:2014-06-14 20:36:11 【问题描述】:我有一个 json rpc 服务器,它以给定的模式提供和重新运行 json,包括 json 字符串的 id 结果和 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"
现在问题出现在响应进入网络浏览器之后,数据表只是永远显示来自服务器的加载数据
我试过添加
..."sAjaxDataProp":"",...
但这会导致找不到匹配的行。我在 Rpc 服务器中使用了与 cgi 脚本相同的 coe,发现我得到了所需的输出并且表格填充得很好。来自脚本的 json 响应为
"iTotalDisplayRecords":"2","iTotalRecords":"2","aaData":[["1","Kenya","Nairobi","0","34"],["2","USA","New York","70","38"]],"sEcho":1
我想要一种方法告诉数据表只选择 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
【问题讨论】:
【参考方案1】:首先,使用数据表 1.10(并更新您的语法!)https://datatables.net/upgrade/1.10-convert
其次,阅读此https://datatables.net/manual/server-side 然后阅读此https://datatables.net/reference/option/ajax
您的解决方案可能最终看起来像
var oTable = $('#ip_data').DataTable(
"serverSide": true,
"ajax":
"url": "/url",
"data":
"method": "datatables",
"id": "1",
,
);
【讨论】:
通过使用 console.log(json.result) 我得到了所需的响应。为什么当我给它提供 json.result 的参数时 fnCallback 没有填充表,就像这样“成功”: function(json) console.log(json.result); fnCallback(json.result);说无法读取未定义的属性“长度”以上是关于制作 jquery 数据表以提取和使用从 Rpc 服务器返回的 json 的给定部分的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?