我在单独的 js 文件中有一个 javascript 方法,我想使用 php 参数从 HTML 页面调用该方法。
<?php
include "connection.php";
$selectedpatient = $_POST['patient_dropdown'];
$myquery = "SELECT * FROM `patient_info` patient_info.Name = '$selectedpatient' ";
$query = mysql_query($myquery);
if ( ! $query ) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
$tempdata = json_encode($data);
?>
<script> data_arrival($_tempdata); </script>
我在 HTML header 中定义了 javascript 文件的源。它显示两个错误:
1) javascript 文件中的解析错误 - 这是可以理解的,因为我将 javascript 文件包含在 header 中,并且该文件在 php 实际检索任何数据之前执行。
2) data_arrival 方法未定义
我该如何解决这个问题?我想将 $tempdata (在由 php 填充之后)作为参数传递给 data_arrival 方法。
提前致谢!
最佳答案
- 首先:首先执行的是 PHP,而不是 JavaScript。在您的示例中,情况不可能相反。
data_arrival
未定义...因为您根本没有定义它,或者因为它是在调用后定义的。
要将值从 PHP 传递到 JavaScript,您可以使用:
data_arrival(<?php echo $_tempdata; ?>);
它将生成如下内容:
data_arrival([a, b, c, d, ...]);
当然,data_arrival
函数需要在执行之前定义。
编辑
也许最好使用相同的变量名称:$_tempdata
与 $tempdata
。
关于javascript - 使用 php 检索到的参数调用 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23720754/