Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要将变量php的值传递给javascript,但我不能_Javascript_Php - Fatal编程技术网

需要将变量php的值传递给javascript,但我不能

需要将变量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

我需要将变量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.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); ?>;