2016-03-31 14 views
1

jsonデータテーブルにjson応答を入れようとしていますが、データテーブルに応答がありません。 jsonデータテーブル内のjson応答

この

は私のコード

<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css"> 
</head> 
<body> 
<table id="example"> 
    <thead> 
    <tr><th class="site_name">Name</th><th>Url </th><th>Type</th><th>Last modified</th></tr> 
    </thead> 
    <tbody> 
    </tbody> 
</table> 

    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script> 
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script> 
    <script> 
$("#example").dataTable({ 
    "processing": true, 
    "serverSide": true, 
    "sAjaxSource": "http://url", 
    "aoColumns": [{ 
    "mData":"name", 
    "sTitle": "site name" 
    },{ 
    "mData": "createdBy" 

    },{ 
    "mData": "createdBySafeId" 
    },{ 
    "mData": "lastUpdated" 
    },{ 
    "mData":"tag" 
    }] 
}); 
    </script> 

<!-- <textarea rows="4" cols="50"> 
example 
</textarea> --> 
</body> 
</html> 

であり、これは私がデータtable..itのは、空白行を示すで応答を表示しようとしている応答

[ 
    { 
    "id": 22, 
    "name": "FPS-T25831236-1450251690209", 
    "lastUpdated": 1450251690213, 
    "createdBy": "Janaki", 
    "onBoarded": 1450251668000, 
    "activeFlag": true, 
    "createdBySafeId": "UC192791", 
    "sourceApplication": "FPS", 
    "subSource": "T25831236", 
    "type": "orderid", 
    "tag": [ 
     "Arunesh", 
     "mamatha" 
    ], 
    "comment": null, 
    "privateNote": true, 
    "reference": [ 
     "T25831111" 
    ], 
    "expiryDate": 1606630852 
    }, 
    { 
    "id": 23, 
    "name": "FPS-T25831236-1450251728342", 
    "lastUpdated": 1450251728347, 
    "createdBy": "Janaki", 
    "onBoarded": 1450251668000, 
    "activeFlag": true, 
    "createdBySafeId": "UC192791", 
    "sourceApplication": "FPS", 
    "subSource": "T25831236", 
    "type": "orderid", 
    "tag": [ 
     "Arunesh", 
     "mamatha" 
    ], 
    "comment": null, 
    "privateNote": true, 
    "reference": [ 
     "T25831111" 
    ], 
    "expiryDate": 1606630852 
    } 
] 

です。ありがとう

答えて

0

"serverSide": trueでサーバー側処理モードを有効にしましたが、応答にそのモードに適した構造がありません。応答が普通の配列なので、"sAjaxDataProp": ""も使用する必要があります。

は、代わりに次のコードを使用します。

$("#example").dataTable({ 
    "sAjaxSource": "http://url", 
    "sAjaxDataProp": "", 
    "aoColumns": [{ 
    "mData":"name", 
    "sTitle": "site name" 
    },{ 
    "mData": "createdBy" 

    },{ 
    "mData": "createdBySafeId" 
    },{ 
    "mData": "lastUpdated" 
    },{ 
    "mData":"tag" 
    }] 
}); 
+0

ええ..私は「sAjaxDataProp」を試してみました:「」、ない運..私は{ 削除しない「MDATAを」:」 "sTitle": "サイト名" }これはあまり必要ではありませんでした。今、私はこのエラーdataTable.htmlを取得しています:1 XMLHttpRequestは、http:// URLをロードすることはできません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。したがって、原点「ヌル」はアクセスが許可されません。クロムで – avi

+1

@avi、それはまったく別の問題です。 'No 'Access-Control-Allow-Originのヘッダーは、要求されたリソースに存在します。これは、ソースドメインとターゲットドメインとが異なるクロスソース要求を実行しようとしていることを意味します(' fpappol01.emea1.cis。 trcloud:9033')は許可していません。 –

+0

@aviターゲットホストで[クロスソースリソース共有](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)を許可するか、ターゲットホストがサポートする場合はJSONPフォーマットを使用する必要があります。 –

0

は、DataTableのより多くの現在のバージョンを使用してください!それ以外に、タグをどのように表示するかについて、より多くのアイデアを提供する必要があります。 this exampleで私はコンマで参加していますが、世界のあなたのロブスターです。

基本的にレンダリング機能を使用すると、tagsフィールドに何をしたいです:

{ 
    "data": "tag", 
    "render": function(d) { 
    return d.join(", ") 
    } 
} 
+0

実際に私が期待しているJSONはサーバーから来ている – avi