【发布时间】:2015-07-14 18:09:52
【问题描述】:
当通过 jQuery AJAX 调用从 HTML 文件调用时,我通过回显从 PHP 文件传递了以下 JSON 字符串。
字符串包含 HTML,它被输入到 DataTables 单元格中。返回的 JSON 似乎将 </ 解释为换行符,因为它正在插入 ASCII 10 和 13(根据文本到 ASCII 转换网站),这导致 DataTables 将其视为无效的 JSON。
我不清楚是什么导致了错位的 ASCII。
HTML(数据表加载):
var mydatatable = $("#myassets").DataTable(
{
"ajax": "../php/fetchmydata.php",
"type": "POST",
"dataType": "json",
"columns": [
{"data":"teamName","width":"30%"},
{"data":"teamImg","width":"20%"},
{"data":"cluesFoundCount","width":"5%"},
{"data":"assets","width":"30%"},
{"data":"scores","width":"5%"}
]
});//end dataTable
PHP (fetchmydata.php):
$myjson = '{"teamName":"<div class=\'teamblock\'><span class=\'bold\'>' . $row['TeamName'] . '</span><div>rick</div></div>"';
$myjson.='}';
echo '{"data":[' . $myjson . ']}';
return $myjson;
【问题讨论】:
-
在 PHP 中构建一个数组并使用
json_encode代替。它更安全、更易于阅读。
标签: jquery json datatables