php - 将 php 变量传递给动态 php 的外部 js 文件

标签 php javascript google-maps external

我有一个php文件作为我的主页,我想将一个php变量传递给一个用php绘制的外部js文件。我有几个 php 的外部 js 文件,它们工作正常但“不”依赖于主页上的 php。有些依赖于主页上的 JavaScript,但我想摆脱它。我的意图是通过限制其上的 JavaScript 数量、增加动态并允许更好的站点管理来保持主页清洁。

也许如果我了解外部文件与调用页面的自然关系,我就不知道了。例如,下面的代码是我当前的一些代码,它假设外部 js 脚本是 php 文件,从主页看到“functions.php”和 $sel_entity。但是,它似乎不是那样工作的。我猜 functions.php 可能需要包含在外部文件中,但对 $sel_entity 没有任何线索。我知道我可以将变量回显到主页上的 js 变量,但我的计划需要一些更动态的东西。这里的任何帮助都会很棒。谢谢!

例如,主页是这样的:

<?php require_once("includes/connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php  $sel_entity = $_GET['entity']; ?>
...//bunches of code 
<script type="text/javascript" src="javascripts/lines.php"></script>

然后js文件lines.php是这样的:

<?php
 Header("content-type: application/x-javascript");
  $job_set = get_jobs($_GET['entity']);                     
  while ($job = mysql_fetch_array($job_set)) {
    echo "
        var jobLine";
echo $job["Project_ID"];
echo " = [new google.maps.LatLng(lati, longi),
";
$jobIdCoords = get_jobCoord_by_id($job["Project_ID"]);
echo " new google.maps.LatLng(";
echo $jobIdCoords['lat'] . ", ";
echo $jobIdCoords['long'] . ")]; ";
                    }
  ...// bunches more code
?>  

最佳答案

最好的方法是使用 $_SESSION,但一定要在“js”文件中启动 session 。

<?php
session_start();
$_SESSION["foo"] = "bar";
?>
<script type="text/javascript" src="javascripts/lines.php"></script>

然后是JS文件:

<?php
Header("content-type: application/x-javascript");
session_start();
echo 'var foo = "'.$_SESSION["foo"].'";';
?>
alert(foo);

但是,您应该也可以像这样使用 $_GET:

<script type="text/javascript" src="javascripts/lines.php?foo=bar"></script>

和“JS”文件:

<?php
Header("content-type: application/x-javascript");
echo 'var foo = "'.$_GET["foo"].'";';
?>
alert(foo);

关于php - 将 php 变量传递给动态 php 的外部 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10973215/

相关文章:

javascript - Bootstrap 模式不适用于 Bootstrap 轮播

javascript - 如何使 REST 调用安全

android - 如何使用 Xamarin 在 Android 应用程序中显示 Google map

php - Magento - 更改属性排序

php - 带有 if else 语句的 mysql 查询

javascript - 如何确定脚本是否已包含在 Web Worker 中?

java - 如何去除 map 上标记上的阴影?

javascript - 如何将 PHP 变量的值存储到 Javascript?

php - 从另一个集合中存在的集合中删除

javascript - 使用选择标签进行选择后禁用选择?