javascript代码中的Php变量

javascript代码中的Php变量,php,javascript,jquery,Php,Javascript,Jquery,我在助手函数中有下面的代码,在该函数中,我尝试在事件发生后将用户重定向到链接 static public function redirect($path) { echo '<script type="text/javascript">'; echo 'self.parent.location.href = "$path";'; echo '</script>'; } 在我的例子中,我调用Helper_Popup::r

我在助手函数中有下面的代码,在该函数中,我尝试在事件发生后将用户重定向到链接

static public function redirect($path)
{       
    echo '<script type="text/javascript">';
    echo 'self.parent.location.href = "$path";';
    echo '</script>';        
}
在我的例子中,我调用Helper_Popup::redirect/account/my_addresses函数,但是,当然,它将我重定向到某个链接something/$path。我应该如何在上述代码中“嵌入”php变量?

您的$path变量包含在单引号中,因此该变量被逐字解释为“$path”,而不是变量的实际值,这是php中双引号和单引号之间的差异,请尝试以下操作:

echo "self.parent.location.href = '$path';";
static public function redirect($path)
{       
    echo '<script type="text/javascript">';
    echo 'self.parent.location.href = "'.$path.'";';
    echo '</script>';        
}
添加标记并回显变量

范例

<script src='<?php echo $var; ?>' </script>

线路不对。如果你想在Javascript中使用php,你必须这样做

echo 'self.parent.location.href = "' . $path . '";';
或者你可以像这样使用双引号

echo "self.parent.location.href = '$path';";
如果使用单引号,则不会执行php。但是使用双引号,php将解析php代码(如果可用),单引号将以纯文本形式写入echo:$path

Try

echo 'self.parent.location.href = "'. $path .'";';

可能是echo self.parent.location.href='/$path';;注意前导斜杠和倒引号?这就是你想要的吗?在javascript代码中不可能有php变量。这是两种不同的语言,无法访问彼此的变量。很多答案——几乎都是一样的——非常快,我从来都不够快,因为我很少同时正确且足够快!我个人更喜欢第一个例子,而不是第二个。您的编辑器很可能不会突出显示第二个示例中的$path变量。@您的常识是:这是错误的描述,您是对的。我已经更正了它,如果在php.ini中启用了shoprt\u open\u标记选项,您也可以将其用于输出
echo 'self.parent.location.href = "'. $path .'";';