在JS中分配非字符串PHP变量

时间:2011-06-06 17:27:35

标签: php javascript

我的纬度/ lognitude变量不是字符串,我需要将它们放入JavaScript变量中。我目前正尝试做一些不起作用的事情:

    lat = <?= $objkey->lat ?>;
    lng = <?= $objkey->lng ?>;

但是当我使用lat / lng变量时,将它包装在字符串中会破坏map函数。

正确的方法是什么?

以下是发生这种情况的网址:http://www.comehike.com/outdoors/parks/trailhead.php

4 个答案:

答案 0 :(得分:2)

我通常会使用json_encode: 如果它是Serializable

json_encode($yourobject);

否则:

var coordinates = <?php echo json_encode($array('lat' => $object->lat, 'lng'=> $object->lng); ?>
console.log(coordinates); 
console.log(coordinates.lat);

编辑:这个答案可能仍然是健全的建议,但这里似乎有回显对象的错误。对象有效吗?

答案 1 :(得分:1)

它没有从PHP输出任何内容。

在您的代码中:

lat = ;

导致Uncaught SyntaxError: Unexpected token ;

答案 2 :(得分:1)

您没有输出任何内容: no output dummy :-D

确保您确实有输出,这可能是问题。

答案 3 :(得分:0)

问题可能是由几件事引起的,首先我要检查的是确保PHP短标签真正启用,或者只是不使用它们,接下来要确保变量实际上有值。请尝试以下方法:

lat = <?php echo isset($objkey->lat) ? $objkey->lat : 0; ?>;
lng = <?php echo isset($objkey->lng) ? $objkey->lng : 0; ?>;