使用php赋值javascript变量

Assigning javascript variable using php

本文关键字:变量 javascript 赋值 php 使用      更新时间:2023-09-26

我试图使用谷歌地图api加载地图。我有一个脚本,它集中在一个给定的位置,指定在:var address = "my address";

会话保存了包含该地址的txt文件路径的一部分。

这有点乱,但它是有目的的:-)

javascript with php:

                var geocoder = new google.maps.Geocoder();
                <?php
                    $center_path = "images'blog''".$_SESSION['trip']."''Center.txt";
                    echo "var address = '"";
                    include($center_path);
                    echo "'";";
                ?>
                geocoder.geocode( { 'address': address}, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    map.setCenter(results[0].geometry.location);
                    } 
                }); 
这个输出

var address = "我的地址";

,这意味着它应该工作,但它没有。

有人知道为什么变量地址没有被正确传递吗?

您正在使用文件的相对路径。确保该文件基于根目录。要调试此操作,请使用echo $center_path,并确保回显的路径指向该文件。

不要使用include来获取文件,而是尝试使用file_get_contents。从那里,您应该正确地清理文件,并对其运行trim。在测试时,我注意到即使是单行文件也包含行结束字符,这可能会导致javascript中发生有趣的事情。

正如其他人所说,您应该为自己做一些尽职调查,并返回所有变量,并确保它们包含您想要的信息。

有一点是,会话是善变的生物。您应该确保您的会话变量被正确地使用,$center_path变量被正确地区分大小写,并且所有内容都与它应该的一致。

除此之外,我不知道我们还能做些什么。

您应该使用file_get_contents来将文件加载到变量中,而不是使用include,后者用于在调用它的上下文中执行代码。