2 回答
TA贡献1790条经验 获得超9个赞
您的代码有几个问题:
无效的数据表初始化设置
serverSide: true
和dataSrc: ""
您的响应结构。PHP 脚本两次编码为 JSON。
使用以下 PHP 脚本作为模板:
<?php
header('Content-Type: application/json; charset=utf-8');
$data = [
'data' => [
[
'name' => '1234567890',
'surname' => 'test'
],
[
'name' => '8200469963',
'surname' => 'amit'
],
]
];
echo json_encode($data);
使用以下初始化选项:
$(document).ready(function() {
$('#datatable').DataTable({
"responsive": true,
"ajax": {
type: "POST",
url: "data.php"
},
"columns": [
{ "data": "name" },
{ "data": "surname" }
]
});
});
TA贡献1830条经验 获得超3个赞
您的 PHP 代码有两个问题:
您的$columns变量是一个字符串,您试图将其编码为 JSON - 这根本不会产生您所期望的。您应该将其创建为对象,然后进行编码:
$columns = ["data" => [
["name" => "1234567890", "surname" => "test"],
["name" => "8200469963", "surname" => "amit"]
]];
不要使用die- 这可能会对服务器端造成不良影响。使用echo来代替:
echo json_encode($columns);
因此,总的来说,您的 PHP 代码将是:
header('Content-Type: application/json; charset=utf-8');
$columns = ["data" => [
["name" => "1234567890", "surname" => "test"],
["name" => "8200469963", "surname" => "amit"]
]];
echo json_encode($columns);
- 2 回答
- 0 关注
- 131 浏览
添加回答
举报