2016-10-06 2 views
0

私はすでにできることすべてを調査しました。DataTables Request Unknownパラメータ

$("#cd-table").DataTable({ 
    "render": { "_": "plain", "filter": "filter", "display": "display"}, 
    "ajax" : { "url" : "cdsort.php", "dataSrc" : "array1" }, 
    "columns" : [ { "data": "title" }, { "data": "description" }, { "data": "location" }, { "data": "date" } ] 
}); 

サーバーのJSON応答が(デコードされていない)正しいはずです::

{"array1":[" {\"title\":\"test\",\"description\":\"test\",\"location\":\"test\",\"date\":\"05\\\/Oct\\\/2016\"}"]} 
私はまだ恐ろしいエラー私のindex.htmlの中に埋め込まれた次のコードのための

Requested the unknown parameter 'title' for row 0, column 0

を取得します

アイデア?

+0

'{" data ":0}、{" data ":1}'などは使えますか? – markpsmith

+0

私はそれを前に試しました。明らかに、JSON文字列内の個々の文字を選択するだけです:0は '{'、1は "、2は 'd' ...などです。 – SomeDude

答えて

0

私の問題が見つかりました。それは非常に微妙なPHPミス(私にとって)です。

JSONオブジェクトの私の配列を組み立てている間、私は(forループ内で)このステートメントを使用していた。後で

array_push($cd_json, json_encode(array("title" => $cd_row[0], "description" => $cd_row[1], "location" => $cd_row[2], "date" => $date_time))); 

とをクライアントに私のJSON配列を返すとき、私はこれを使用していた。

間違えていたのは、以前のjson_encodeの上にjson_encodeを使用していたため、私の配列のJSONデータ型が事実上破損していました。私が代わりにこれを行うと

は、DataTableのは私のデータを理解し、正しくフォーマットされます:

array_push($cd_json, array("title" => $cd_row[0], "description" => $cd_row[1], "location" => $cd_row[2], "date" => $date_time)); 

echo json_encode(array("data" => $cd_json)); 

レッスンは学んだ:ちょうど1つのjson_encode()の呼び出しを使用し、それが再帰的に配列内の配列をコードします。