Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php代码在javascript中不起作用_Javascript_Php - Fatal编程技术网

Php代码在javascript中不起作用

Php代码在javascript中不起作用,javascript,php,Javascript,Php,我有以下php代码: <?php $myVar=$_GET['MyVar']; ?> 然后,在我的javascript中,我写道: var p="<?php echo $myVar;?>"; window.open("./myurl.php?MyVar="+p,"_self"); 但是php代码被忽略,读起来就像是一个简单的字符串,所以我的url是: ./myurl.php?MyVar=<?php%20echo%20$myVar;?> 我的错

我有以下php代码:

<?php

    $myVar=$_GET['MyVar'];
?>
然后,在我的javascript中,我写道:

var p="<?php echo $myVar;?>";

window.open("./myurl.php?MyVar="+p,"_self");
但是php代码被忽略,读起来就像是一个简单的字符串,所以我的url是:

./myurl.php?MyVar=<?php%20echo%20$myVar;?>

我的错误在哪里?

您的脚本文件必须是.js.php才能工作,或者您必须在.php文件中编写此脚本 如果要使用.js.php文件,请添加headerContent类型:text/javascript
祝你好运

你得问问。从$myVar获得的值不包含任何s,对吗? 如果变量使用任何类型的特殊字符,则还应使用json_编码,如下所示:

var p = <?php echo json_encode($myVar); ?>;
给你另一个把戏 如果您使用的是简单的插入HTML的PHP,而不是MVC或模板,但是.js文件与.PHP文件是分开的,那么您还可以使用以下技巧:

1-在PHP中:

$myVar=$_GET['myVar']

echo var p=\{$myVar}\

因此,您将创建一个Javascript打印块,用于初始化变量

2-在JavaScript中

window.open./myurl.php?MyVar=+p,\u self


因此,您只需使用它,它已经存在。

我认为您的服务器没有解析php代码您的文件扩展名是什么。。。它是php、html还是其他什么?真的在服务器中执行吗?或者只在浏览器中打开html文件?使用ajax!使用jQuery尤其简单