我在服务器端有一个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代码甚至没有运行。
答案 0 :(得分:0)
我建议您使用PHP查询数据库,构建本地数组或数据结构并将其转换为JSON,然后返回Javascript文件。查看http://php.net/manual/en/function.json-encode.php以获取PHP / JSON处理。我假设你的Javascript试图通过AJAX请求访问数据,但是你没有提供足够的设置细节以确定?
答案 1 :(得分:0)
检查生成的页面的来源,并确保您输出的$row
值是实际的合成有效的javascript。例如。如果它是一个表示一行数据的数组,那么php实际上会输出Array
,而不是该行的某些值。
除此之外,当使用PHP动态构建javascript时,你应该总是使用json_encode()来确保你插入到javascript中的PHP变量是有效的javascript。插入数据中最轻微的语法错误将终止整个JS代码块,你最终会到达现在的位置 - 一个功能失常的页面,不知道它为什么会死掉:
patientdata = <?php echo json_encode($row) ?>;
将100%保证您插入JS代码中的任何内容都不会导致解析器错误。数据是否真的可以与您的代码一起使用是另一回事,但至少脚本不会在解析阶段被杀死。