我尝试使用javascript使用Sage Sdata生成一些数据,然后使用datatables插件处理该数据,但我收到错误:
DataTables警告:table id = example - 请求的未知参数' 1'对于第0行。有关此错误的详细信息,请参阅http://datatables.net/tn/4
if(aNode2)
{
resultTextData += '[';
resultTextData += "'" + aNode1.nodeValue + "'";
resultTextData += ',';
resultTextData += "'" + aNode2.nodeValue + "'";
resultTextData += ',';
resultTextData += "'" + aNode3.nodeValue + "'";
resultTextData += ']';
resultTextData += ',';
}
var dataSet = resultTextData ;
console.log(dataSet);
$('#example').dataTable({
"data": dataSet,
"aoColumns": [
{ "aDataSort": [ 0, 1 ] },
{ "aDataSort": [ 1, 0 ] },
{ "aDataSort": [ 2, 3 ] }
]
});
答案 0 :(得分:0)
data
选项不接受字符串输入。见https://datatables.net/reference/option/data
答案 1 :(得分:0)
DataTables支持从json编码的字符串加载。 以下是将XML结果转换为数组的示例。
function FormatDataByIolist($data,$IOlist) {
$returnAray = array();
$RecordCount = count($data);
for($i = 0; $i < $RecordCount; $i++) {
$tmpSingleRow = array();
foreach($IOlist as $colName) {
$columVal = (string)$data[$i]->$colName;
$tmpSingleRow[$colName] = $columVal;
}
array_push($returnAray,$tmpSingleRow);
unset($tmpSingleRow);
}
return $returnAray;
}
之后,您需要将数组转换为DataTable可以理解的json_encoded字符串。
$formatted = '{ "data": '.json_encode($returnAray).'}';
在后端写入后,您需要在数据表定义中添加以下行
"ajax": "your.php?action=getJson"
your.php?action = getJson方法应该是GET并且应该返回格式化的json-string(如图所示)。
我thnik,这个存储库将帮助您使用SData。 (这是与SData合作的模型) https://github.com/AramKocharyan/Sage-SData