gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 18:25:24 26 4
gpt4 key购买 nike

我有一个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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com