需要将变量php的值传递给javascript,但我不能
我需要将变量php的值传递给javascript,但我不能。 尝试多种形式,但不起作用。 使用以下版本,而不是确定故障原因。 Apache2.2.25和PHP5.2.17(我现在需要使用这些版本)。 示例中应接收变量的值为“kml/Aechmea_magdalenae.kml”需要将变量php的值传递给javascript,但我不能,javascript,php,Javascript,Php,我需要将变量php的值传递给javascript,但我不能。 尝试多种形式,但不起作用。 使用以下版本,而不是确定故障原因。 Apache2.2.25和PHP5.2.17(我现在需要使用这些版本)。 示例中应接收变量的值为“kml/Aechmea_magdalenae.kml” 函数初始化(){ var mexico=new google.maps.LatLng(20.6568241,-103.3984801); 变量映射选项={ 缩放:11, mapTypeId:google.maps.ma
函数初始化(){
var mexico=new google.maps.LatLng(20.6568241,-103.3984801);
变量映射选项={
缩放:11,
mapTypeId:google.maps.mapTypeId.TERRAIN,
中心:墨西哥
}
var url2=;
var url1='1〕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(窗口“加载”,初始化);
看这行:
var url2 = <?php echo json_encode($anio) ?>;
var url2=;
如果您打算进行json_编码(我认为是另一种方式),那么应该使用引号,比如
var url2 = "<?php echo json_encode($anio) ?>";
var url2=”“;
尽可能地,回显json\u编码的
url字符串将跳出该url中的前斜杠然后,解决方案是: 注意缺少引号(
json\u encode
将为您添加引号),并且使用了json\u UNESCAPED\u斜杠
常量
嗨,Frederic,我也喜欢这样,但不起作用,很可能是因为它的值被编码或转义,所以您正在使用一个警报打印url1和url2的值,但没有显示任何内容。警报(url1+url2);并且不知道如何修复它,不是因为它是变量receives向我们显示
$anio
的值,只要使用一个简单的var\u dump($anio);退出()
或其他一些你肯定不想添加引号,因为json编码的对象已经包含双引号,同样如此,因为json代表JavaScript对象表示法,因此=>json_encode的输出是有效的JavaScript代码,但是如果你尝试像他稍后那样将对象附加到文本中,在不知道URL的预期格式的情况下,更安全的方法是假设一个字符串在这种情况下,要么检查字符串,并直接回显它(跳过json\u encode
,它逃避前斜杠),要么使用json\u UNESCAPED\u斜杠
常量(cf my answer+demo),谢谢大家!更改php的版本,此解决方案将消除PHP5.2-5.4o的问题。谢谢!更改php的版本,此解决方案将消除problem@LuisGuerra:如果此解决方案解决了问题,那么您为什么将另一个答案标记为已接受?
var url2 = <?php echo json_encode($anio) ?>;
var url2 = "<?php echo json_encode($anio) ?>";
var url = '<?php echo $anio; ?>';
var url = <?php echo json_encode($anio, JSON_UNESCAPED_SLASHES); ?>;