我是javascript新手,并尝试将参数从php发送到js文件。我正在尝试将参数从php文件发送到js文件,但我不知道为什么这没有发生。
代码:
javascript档案名称:data6_1.js
var menuItems = [
["Collected Material","scm.php?firstname=.$id2", "", "", "", "", "0", "0", "", "", "", ],
];
PHP文件:studentbook.php
<?php
if(!isset($_SESSION['firstname'])) {
$id2 =$_REQUEST['firstname'];
echo "<b>".$id2."</b>"." Logged in";
}
?>
<div id="MNUOBJ7DFA52C14221AD2" style="position:absolute; top:549px; left:22px; width:174px; height:34px; z-index:3016;">
<script type="text/javascript" src="data6_1.js"></script>
<script type="text/javascript">
menuItems.([$id2]);
</script>
<a href='scm.php'></a>
</div>
任何想法请帮忙。
当您的浏览器请求文件时data6_1.js
,处理该请求绝对不涉及php。这是对javascript文件的简单请求,仅此而已。在完全没有连接的其他脚本执行中,应该如何$id2
神奇地转换成它可能具有的某些值?您可能已经通过php以动态方式创建了javascript,但这并不能解决您的问题,因为_still仍然是两个完全独立的脚本执行,不会像这样共享任何变量。
相反,您可以将该值作为被动值传递给标记:中<input type="hidden" value="<?php echo $id2; ?>">
。然后,您可以简单地在javascript中选择值并使用它。
在问题的较低代码部分,您需要使用php输出$ id2的值,否则它将是php脚本的html部分中的文字:
<?php
if(!isset($_SESSION['firstname'])) {
$id2 =$_REQUEST['firstname'];
echo "<b>".$id2."</b>"." Logged in";
}
?>
<div id="MNUOBJ7DFA52C14221AD2"
style=" position:absolute; top:549px; left:22px; width:174px; height:34px; z-index:3016;">
<script type="text/javascript" src="data6_1.js"></script>
<script type="text/javascript">
menuItems.([<?php echo $id2; ?>]);
</script>
<a href='scm.php'</a>
</div>
一种可能的选择是仅动态打包一个javascript元素:
<?php
if(!isset($_SESSION['firstname'])) {
$id2 =$_REQUEST['firstname'];
echo "<b>".$id2."</b>"." Logged in";
}
?>
<div id="MNUOBJ7DFA52C14221AD2"
style=" position:absolute; top:549px; left:22px; width:174px; height:34px; z-index:3016;">
<script type="text/javascript" src="data6_1.js">
var menuItems = [
[
"Collected Material",
"scm.php?firstname=<?php echo $id2; ?>",
"", "", "", "", "0", "0", "", "", "",
],
];
menuItems.([<?php echo $id2; ?>]);
</script>
<a href='scm.php'</a>
</div>
您可能可以缩短<?php echo $id2; ?>
为,<?= $id2 ?>
具体取决于您的php引擎的设置。该变体更加紧凑和易读。
并且不要忘记,可能必须调整“内容安全策略”标头以允许执行内联脚本:http : //content-security-policy.com/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句