簡體   English   中英

使jquery數據表從Rpc服務器提取和使用返回的json的給定部分

[英]Make jquery datatables to extract and use a given part of a returned json from an Rpc server

我有一個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瀏覽器中之后,而數據表僅顯示服務器的永久數據

我試過嘗試添加

..."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.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",
        }
    },
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM