在javascript if语句中使用php变量


Using php variable in javascript if-statement

当我使用php if-语句时,我想将$_POST['foo']变量传递给JavaScript变量。但它不起作用。关于如何运行它,有什么建议吗?

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
</script>
<?
}

 else {
    ...
    }
    ?>

编辑:

这很奇怪:实际上,我正试图让代码像这样运行(这不起作用):

if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($foo); ?>;
</script>
<?
}
else {
...
}

然而,当我刚刚这样做的时候,它起了作用:

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
</script>
<?
}
else {
...
}

有什么想法吗?

我对您的脚本做了一个简单的更改,它对我很有效

<?php
if(isset($_POST['foo']))    
{    
?>
<script>
var jFoo= <?php echo json_encode($_POST['foo']); ?>;
alert(jFoo);
</script>
<?php
}
else {
}
?>
<form action="" method="post">
    <input type="text" name='foo' />
    <button type="submit">Submit</button>
</form>

此代码正常工作:

        <form method="post" action="">
             <input type="text" name="foo"></input>
             <input type="submit" name="submit" value="submit">
        </form>
        <script type="text/javascript">
           <?php
              if(isset($_POST['foo'])) {
           ?>
           var jFoo = <?php echo json_encode($_POST['foo']); ?>;
           alert(jFoo); // test
           <?php } ?>
        </script>