我有这个PHP代码:
<?php
$myVar=$_GET['MyVar'];
?>
然后,在我的javascript中,我写道:
var p="<?php echo $myVar;?>";
window.open("./myurl.php?MyVar="+p,"_self");
但它的PHP代码被忽略并读取就像它是一个简单的字符串,所以我的网址是:
./myurl.php?MyVar=<?php%20echo%20$myVar;?>
我的错误在哪里?
答案 0 :(得分:0)
你的脚本文件必须是.js.php才能工作,或者你必须在.php文件中写这个脚本
如果你想使用.js.php文件添加header("Content-type: text/javascript")
好运
答案 1 :(得分:0)
只需要问。您从$myVar
获得的价值不包含任何权利?
如果您的变量使用任何类型的特殊字符,您还应该使用json_encode()
,如下所示:
var p = <?php echo json_encode($myVar); ?>;
答案 2 :(得分:0)
另一招你 如果您使用的是插入HTML(而不是MVC或模板)的简单PHP,但您的.js文件与.php文件是分开的,您还可以使用以下技巧:
1-在PHP中:
$myVar = $_GET['MyVar'];
echo "<script>var p = \"{$myVar}\";</script>";
因此,您将创建(打印)一大块Javascript,它将初始化变量。
2-在JavaScript中
window.open("./myurl.php?MyVar="+p,"_self");
所以你只是使用它,它已经存在了。