如何将PostgreSQL数据加载到HTML/JS中


How to load PostgreSQL data into HTML/JS

我在服务器端有一个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代码甚至没有运行。

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

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

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

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

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