JQuery DataTables - 无法在服务器上从PHP获取json数据

时间:2017-01-17 02:16:02

标签: php jquery json datatables

我已通过推荐的帖子,无法找到答案。

我有来自各自网站的最新jquery和数据表。

我有一个PHP脚本,用于访问其他页面的mysql数据,所以我知道它可以工作,但这里参考的是PHP代码(OTCalDBFetch.php):

<?php
// List of events

try {
    // Connect to database
    $connection =  new PDO('mysql:host=localhost;dbname=items;charset=utf8mb4', 'uuuuuuuu', 'pppppppp');

    // Prepare and execute query
    $query = "SELECT * FROM items.events ORDER BY start";
    $sth = $connection->prepare($query);
    $sth->execute();

    // Returning array
    $events = array();

    // Fetch results
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
        $e = array();
        $e['id'] = $row['id'];
        $e['title'] = $row['title'];;
        $e['start'] = $row['start'];

        // Merge the event array into the return array
        array_push($events, $e);
    }

    // Output json for our calendar
    $json = json_encode($events, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);

    echo $json;
    exit();

} catch (PDOException $e) {
    echo $e->getMessage();
}

&GT;

这是我正在使用的html,几乎是datatables网站上的一个例子。

&#13;
&#13;
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
        <link rel="stylesheet" type="text/css" href="assets/css/datatables.min.css">
        <script type="text/javascript" language="javascript" src="assets/lib/jquery.min.js"></script>
        <script type="text/javascript" language="javascript" src="assets/lib/jquery-migrate-3.0.0.min.js"></script>
        <script type="text/javascript" language="javascript" src="assets/lib/datatables.min.js"></script>
        <script type="text/javascript" language="javascript" class="init">

            $('#example').DataTable({
                "ajax": {
                    "processing": true,
                    "serverSide": true,
                    "ajax": 'OTCalDBFetch.php',
                },
                "columns": [
                    { "data": "start" },
                    { "data": "title" } 
                ]
            });
        </script>
    </head>

    <body class="dt-example">
        <table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>start</th>
                    <th>title</th>
                </tr>
            </thead>
        </table>
    </body>
</html>
&#13;
&#13;
&#13;

发生的事情基本上没什么。

  1. 表格标题显示在浏览器(Firefox)
  2. Web控制台,浏览器控制台或PHP错误日志中没有错误。
  3. Web Developer Debugger(网络)显示从未发出过请求。
  4. 所有这些让我相信我缺少一些非常基本的东西。在用于调用服务器的html中。

    任何帮助都将不胜感激。

    此致 吉姆

1 个答案:

答案 0 :(得分:0)

$('#example').DataTable({

    "processing": true,
    "serverSide": true,
    "ajax": 'OTCalDBFetch.php',
    "columns": [
                { "data": "start" },
                { "data": "title" } 
     ],

});

无需在数据表初始化中编写ajax。