【发布时间】:2014-09-27 00:07:51
【问题描述】:
我目前正在使用 HTML5,所以我需要使用 DataTabels 1.10
问题是 ajaxsouce 无法从我拥有的 php 文件中解析 json。 实际上它运行良好,并且仍然适用于我在 DataTables 1.9.4 和 HTML4 上的项目,但不知何故我未能将它与 DataTables 1.10 和 HTML5 一起使用
这就是我调用我的 ajax 的方式:
$(document).ready(function() {
$('#example').dataTable( {
"ajax": "viewobat1.php"
} );
});
我也改成"sAjaxSource": "viewobat1.php"了,但是也不行
这就是我在viewobat.php 中为获取 json 所做的操作
$sql="SELECT * FROM obat";
$hasil=mysql_query($sql);
print("{\"aaData\":[");
$tambahan="\n";
$no=0;
while($cetak=mysql_fetch_array($hasil))
{$no++;
$no;
$idobat=$cetak[0];
$tanggalmasuk=$cetak[1];
$namaobat=$cetak[2];
$jenis=$cetak[3];
$macam=$cetak[4];
$keterangan=$cetak[5];
$stok=$cetak[6];
print($tambahan."[\"$no\","."\"$idobat\","."\"$tanggalmasuk\","."\"$namaobat\","."\"$jenis\","."\"$macam\",
"."\"$keterangan\","."\"$stok\]");
$tambahan=",\n";
}
print("\n]}\n");
?>
我的 json 没有任何问题,PHP 正在返回一个有效的 JSON 数组
但数据不会显示在表格上,
我错过了什么吗?
~已编辑~
我已经通过 datatables.net 的服务器端教程更改了获取所需数据的方式 ---> SERVER SIDE
我的代码是这样的,
<?php
error_reporting(0);
$table = 'obat';
$primaryKey = 'idobat';
$columns = array(
array( 'db' => 'idobat', 'dt' => 0 ),
array( 'db' => 'tanggalmasuk', 'dt' => 1 ),
array( 'db' => 'namaobat', 'dt' => 2 ),
array( 'db' => 'jenis', 'dt' => 3 ),
array( 'db' => 'macam', 'dt' => 4 ),
array( 'db' => 'keterangan', 'dt' => 5 ),
array( 'db' => 'stok', 'dt' => 6 ),
);
$sql_details = array(
'user' => 'root',
'pass' => '',
'db' => 'medical',
'host' => 'localhost'
);
require( 'js\DataTables-1.10.2\examples\server_side\scripts\ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
当然... PHP 再次返回有效数据
我也以与教程完全相同的方式调用 ajax...
当然...数据仍然不会出现在我的表中...
再说一遍,我错过了什么吗? (O_o)
【问题讨论】:
标签: php json html datatables