首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数组从php传递到javascript方法

将数组从php传递到javascript方法
EN

Stack Overflow用户
提问于 2015-06-18 04:17:15
回答 3查看 54关注 0票数 0

在我的php中,我进行了一个db调用,结果是

代码语言:javascript
复制
$options = mysqli_fetch_array($result);

现在,我想调用javascript方法并传递这个函数。我的javascript方法看起来像

代码语言:javascript
复制
function myFunction(options){
//iterate over each option
}

我所做的就是

代码语言:javascript
复制
<?php echo "<script>myFunction('".$options."')</script>";

这给我的服务器上的错误,我正在做数组到字符串转换。

我认为javascript决定了运行时的数据类型,因此我不会介意。有人能告诉我正确的方法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-18 04:23:00

要让PHP打印出JavaScript可以使用的数组,可以将数组转换为JSON字符串,然后直接回显。

代码语言:javascript
复制
# 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>";
票数 2
EN

Stack Overflow用户

发布于 2015-06-18 04:31:45

不能将php数组作为数组传递给javascript函数。但是,您可以按照Grokify的说明传递它,也可以将它直接传递给您的javascript变量,如果您的函数位于同一个页面上,则将其分配到php环境中。

代码语言:javascript
复制
function myFunction(){
    var options = <?php echo json_encode($options); ?>;
}
票数 0
EN

Stack Overflow用户

发布于 2015-06-18 04:39:35

首先,声明您的JS功能。

代码语言:javascript
复制
function myFunction(options){
 options = JSON.parse(options);

 for(var i=0; i<= options.length; i++){
    console.log(options[i]);
  }
}

在PHP端,将数组转换为JSON并将其传递给JS函数

代码语言:javascript
复制
$json = json_encode($options);

# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json.")</script>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30906343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档