1

我在服务器端有一个 Postgresql 数据库。我想在其上加载数据以显示在 HTML 网页上。我将如何才能在 javascript 中访问这些数据?那里有教程吗?这似乎是一件很常见的事情,但到目前为止我似乎无法找到如何去做。我确实发现了一些关于使用 php 和 node.js 来执行此操作的 stackoverflow 问题,但我似乎无法使其正常工作。php 似乎是最简单的方法,我从另一个问题中复制了一些代码,但它似乎不起作用。

    var patientData = [];
    var patient_id = 8;

    <?php
            $connection = pg_connect("connectstuff");

            if(!$connection)
            {
                    pg_close($connection);
            }

            $result = pg_query($connection, "query");
            if (!$result) 
            {
                    exit;
            }

            $row = pg_fetch_row($result, 0);

            echo "patientdata = $row;";
            echo "alert('asdf')";
    ?>

警报甚至没有显示,所以我认为 php 代码甚至没有运行。

4

2 回答 2

0

我建议您使用 PHP 来查询数据库,构建本地数组或数据结构并将其转换为 JSON,然后返回到 Javascript 文件。查看http://php.net/manual/en/function.json-encode.php以了解 PHP / JSON 处理。我假设您的 Javascript 正在尝试通过 AJAX 请求访问数据,但您没有提供足够的设置细节来确定?

于 2012-07-30T16:23:22.597 回答
0

检查生成页面的来源,并确保$row您输出的值是实际语法上有效的 javascript。例如,如果它是一个表示一行数据的数组,php 将实际输出Array,而不是该行的某个值。

除此之外,当使用 PHP 动态构建 javascript 时,您应该始终使用 json_encode() 来确保您插入到 javascript 中的 PHP 变量作为有效的 javascript 出来。插入数据中最轻微的语法错误都会杀死整个 JS 代码块,你最终会回到现在的位置 - 一个功能失调的页面,不知道它为什么会死:

patientdata = <?php echo json_encode($row) ?>;

将 100% 保证您插入到 JS 代码中的任何内容都不会导致解析器错误。数据是否真正适用于您的代码是另一回事,但至少脚本不会在解析阶段被杀死。

于 2012-07-30T16:24:48.270 回答