我需要将变量php的值传递给javascript,但我不能。 尝试多种形式,但不起作用。 使用以下版本而不是失败的原因。 Apache 2.2.25和PHP 5.2.17(我需要立即使用这些版本)。 应该在示例中接收变量的值是“kml / Aechmea_magdalenae.kml”
$anio = $row['kml_map'];
<script>
function initialize() {
var mexico = new google.maps.LatLng(20.6568241,-103.3984801);
var mapOptions = {
zoom: 11,
mapTypeId: google.maps.MapTypeId.TERRAIN,
center: mexico
}
var url2 = <?php echo json_encode($anio) ?>;
var url1 = 'http://www.cnf.gob.mx:8090/snif/especies_forestales/';
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var ctaLayer = new google.maps.KmlLayer({url: url1+url2});
ctaLayer.setMap(map);}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
答案 0 :(得分:1)
尽可能see here,回显json_encoded
url字符串将转义该网址中的正斜杠。
然后解决方案要么要执行:
var url = '<?php echo $anio; ?>';
确保$anio
的值不包含任何单引号,或者(如果您运行的是PHP 5.4或更高版本),使用它:
var url = <?php echo json_encode($anio, JSON_UNESCAPED_SLASHES); ?>;
请注意,缺少引号(json_encode
会为您添加引号),以及使用JSON_UNESCAPED_SLASHES
常量。 check the manual for more constants
答案 1 :(得分:0)
看看这一行:
var url2 = <?php echo json_encode($anio) ?>;
如果你打算使用json_encode(我认为是另一种方式),你应该使用引号,有些像
var url2 = "<?php echo json_encode($anio) ?>";