如何将一个数组从php页面传递到js页面?

31 浏览
0 Comments

如何将一个数组从php页面传递到js页面?

我有一个这种类型的php数组

[0] => Array

(

[id] => 22

[lat] => 40.8434169

[lng] => 11.409390199999962

)

我希望将它传递给一个body-onload中的js文件。

我尝试了以下几种方法:

1) 
2) 

但都没有成功

编辑:我通过以下方式解决了这个问题


0
0 Comments

问题原因:第一种尝试的方法在任何情况下都不起作用。但第二种方法是有效的,并将一个JSON对象传递给你的函数。

解决方法:如果这个方法不起作用,错误可能是因为addMarkers函数不期望一个JSON对象作为它的参数。你可以在Firebug控制台中看到这个错误描述。你也可以检查函数的定义,找出期望的参数。

0
0 Comments

问题的原因是需要将一个PHP页面中的数组传递给一个JS页面。为此,我们可以使用json_encode函数将数组转换为JSON格式的字符串,并通过echo输出到页面上。

解决方法如下所示:

<?php echo json_encode($myArray) ?>

这行代码将$myArray数组转换为JSON字符串,并通过echo输出到页面上。

为了验证代码是否正确工作,我们可以打开浏览器的开发控制台,查看JS解释器对输出代码的反馈。

使用这种方法,我们可以将PHP页面中的数组传递给JS页面,并在JS页面上使用该数组进行后续操作。

0
0 Comments

问题原因:在PHP页面中将数组传递给JavaScript页面时,可能会遇到数组嵌套的情况。

解决方法:将数组转换为字符串,然后在JavaScript页面中将字符串转换回数组。

我不确定您的addMarkers()函数具体是做什么的,但是以下方法可能会起作用:

<body onload="addMarkers(<?php echo implode(', ', $myArray); ?>)">

然而,这可能不起作用,因为数组的第一个元素本身就是一个数组。所以echo implode(', ', $myArray);将会得到字符串"Array",如果有多个数组,则会得到"Array, Array"

在这种情况下,我们需要将数组转换为字符串,然后在JavaScript页面中将字符串解析为数组。

0