整个 php 文件 returns 到数据表 ajax 调用
Entire php file returns to datatable ajax call
我试图获得服务器端数据处理的 php 响应。我预计会返回 JSON 文件,但会返回整个 php 文件。
Xampp和WAMP我都试过,但问题没有解决。 Xampp 和 Wamp 都可以在浏览器 http://localhost:8080//example.php 上毫无问题地执行 php 文件。
我的 javscript 和 php 代码如下
<script>
$(document).ready(function() {
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {url : "example.php",
type: "GET",
dataType: "JSON"
},
"columns": [
{ "data": 'chr'},
{ "data": 'pos'}
]
} );
} );
</script>
<?php
// DB table to use
$table = 'homo_sapiens';
// Table's primary key
$primaryKey = 'dRid';
// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case simple
// indexes
$columns = array(
array( 'db' => 'chr', 'dt' => 'chr' ),
array( 'db' => 'pos', 'dt' => 'pos'),
);
// SQL server connection information
$sql_details = array(
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'db' => 'XXXXX'
);
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP
* server-side, there is no need to edit below this line.
*/
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns)
);
?>
http://localhost:8080/example.php上的响应:
{"draw":0,"recordsTotal":114,"recordsFiltered":114,"data":[{"chr":"chr1","pos":"631704"},{"chr ":"chr1","pos":"631714"},{"chr":"chr1","pos":"631848"},{"chr":"chr1","pos":"632344"} ,{"chr":"chr1","pos":"632461"},{"chr":"chr1","pos":"633143"},{"chr":"chr1","pos": "633300"},{"chr":"chr1","pos":"633364"},{"chr":"chr1","pos":"633839"},{"chr":"chr1", "pos":"633852"},{"chr":"chr1","pos":"633860"},{"chr":"chr1","pos":"634183"},{"chr": “chr1”,“pos”:“634249”},{“chr”:“chr1”,“pos”:“1014207”},{“chr”:“chr1”,“pos”:“1014246”},{ "chr":"chr1","pos":"1055942"},{"chr":"chr1","pos":"1311386"},{"chr":"chr1","pos":"1311563 "},{"chr":"chr1","pos":"1311637"},
.....................
网络响应的屏幕截图:
我已经卡了好几天了。非常感谢任何帮助!
确保来自您的 Javascript 的调用是通过 http 访问它并且包含主机,否则 Apache 可能无法识别它。像这样:http://localhost:8080/example.php
。否则,它可能会将其作为文件读取,并且 return 您当前获得的内容都是 运行 本地的。我不确定 Datatables 如何获取信息,但可能会以这种方式设置使用原始数据,例如 .json
或 .xml
文件,或者在您的情况下,您的 .php 文件。因此,如果没有 http://localhost
,它可能会像读取文件一样自动处理它。
另一种可能性是您的 apache 配置可能缺少 PHP mimetype。您可以像这样将其添加到 httpd.conf 中:
AddType application/x-httpd-php .php
虽然我觉得不太可能,因为你可以正常执行它。
回来报告,如果问题解决了请告诉我!
我试图获得服务器端数据处理的 php 响应。我预计会返回 JSON 文件,但会返回整个 php 文件。
Xampp和WAMP我都试过,但问题没有解决。 Xampp 和 Wamp 都可以在浏览器 http://localhost:8080//example.php 上毫无问题地执行 php 文件。
我的 javscript 和 php 代码如下
<script>
$(document).ready(function() {
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {url : "example.php",
type: "GET",
dataType: "JSON"
},
"columns": [
{ "data": 'chr'},
{ "data": 'pos'}
]
} );
} );
</script>
<?php
// DB table to use
$table = 'homo_sapiens';
// Table's primary key
$primaryKey = 'dRid';
// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case simple
// indexes
$columns = array(
array( 'db' => 'chr', 'dt' => 'chr' ),
array( 'db' => 'pos', 'dt' => 'pos'),
);
// SQL server connection information
$sql_details = array(
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'db' => 'XXXXX'
);
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP
* server-side, there is no need to edit below this line.
*/
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns)
);
?>
http://localhost:8080/example.php上的响应:
{"draw":0,"recordsTotal":114,"recordsFiltered":114,"data":[{"chr":"chr1","pos":"631704"},{"chr ":"chr1","pos":"631714"},{"chr":"chr1","pos":"631848"},{"chr":"chr1","pos":"632344"} ,{"chr":"chr1","pos":"632461"},{"chr":"chr1","pos":"633143"},{"chr":"chr1","pos": "633300"},{"chr":"chr1","pos":"633364"},{"chr":"chr1","pos":"633839"},{"chr":"chr1", "pos":"633852"},{"chr":"chr1","pos":"633860"},{"chr":"chr1","pos":"634183"},{"chr": “chr1”,“pos”:“634249”},{“chr”:“chr1”,“pos”:“1014207”},{“chr”:“chr1”,“pos”:“1014246”},{ "chr":"chr1","pos":"1055942"},{"chr":"chr1","pos":"1311386"},{"chr":"chr1","pos":"1311563 "},{"chr":"chr1","pos":"1311637"}, .....................
网络响应的屏幕截图:
我已经卡了好几天了。非常感谢任何帮助!
确保来自您的 Javascript 的调用是通过 http 访问它并且包含主机,否则 Apache 可能无法识别它。像这样:http://localhost:8080/example.php
。否则,它可能会将其作为文件读取,并且 return 您当前获得的内容都是 运行 本地的。我不确定 Datatables 如何获取信息,但可能会以这种方式设置使用原始数据,例如 .json
或 .xml
文件,或者在您的情况下,您的 .php 文件。因此,如果没有 http://localhost
,它可能会像读取文件一样自动处理它。
另一种可能性是您的 apache 配置可能缺少 PHP mimetype。您可以像这样将其添加到 httpd.conf 中:
AddType application/x-httpd-php .php
虽然我觉得不太可能,因为你可以正常执行它。
回来报告,如果问题解决了请告诉我!