在我的php中进行数据库调用,结果是
$options = mysqli_fetch_array($result);
现在,我想进行一个javascript方法调用并传递此函数。我的javascript方法看起来像
function myFunction(options){
//iterate over each option
}
我正在做的是
<?php echo "<script>myFunction('".$options."')</script>";
这使我在服务器上出错,我正在进行数组到字符串转换。
我认为javascript在运行时确定了数据类型,因此我会对此感到满意。有人可以告诉我这样做的正确方法吗?
由于
答案 0 :(得分:2)
要让PHP打印出JavaScript可以使用的数组,您可以将数组转换为JSON字符串,然后直接回显。
# Convert PHP array to JSON array
$json_options = json_encode($options);
# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json_options.")</script>";
答案 1 :(得分:0)
你不能将php数组作为数组传递给javascript函数。但是你可以按照Grokify的说明传递它,或者你可以直接将它传递给你的javascript变量,如果你的函数是在同一页面上给php环境。
function myFunction(){
var options = <?php echo json_encode($options); ?>;
}
答案 2 :(得分:0)
首先,声明你的JS函数。
function myFunction(options){
options = JSON.parse(options);
for(var i=0; i<= options.length; i++){
console.log(options[i]);
}
}
在PHP方面,将数组转换为JSON并将其传递给JS函数
$json = json_encode($options);
# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json.")</script>";