如何在JavaScript中嵌入PHP代码?

时间:2010-07-28 11:59:46

标签: php javascript

我们如何在JavaScript中使用PHP代码?

function jst()
{
    var i = 0;
    i = <?php echo 35; ?>
    alert(i);
}

请建议一个更好的方法。

9 个答案:

答案 0 :(得分:100)

如果整个JavaScript代码都由PHP处理,那么就可以这样做。

如果您有单独的.js文件,并且您不希望PHP处理它们(例如,出于缓存原因),那么您只需在JavaScript中传递变量。

例如,在index.php(或指定布局的任何地方),您可以执行以下操作:

<script type="text/javascript">
    var my_var = <?php echo json_encode($my_var); ?>;
</script>

然后,您可以在JavaScript文件中使用my_var

此方法还允许您传递除简单整数值之外的其他值,因为json_encode()也正确处理数组,字符串等,将它们序列化为JavaScript可以使用的格式。

答案 1 :(得分:16)

如果您将JavaScript代码放在 PHP 文件中,则可以,但不是。例如:

page.php (这会有效)

function jst()
{
    var i = 0;
    i = <?php echo 35; ?>;
    alert(i);
}

page.js (这不起作用)

function jst()
{
    var i = 0;
    i = <?php echo 35; ?>
    alert(i);
}

答案 2 :(得分:4)

必须在服务器上解析PHP。 JavaScript正在客户端的浏览器中工作。

在.js文件中使用PHP代码是行不通的,除非您可以告诉服务器在将文件发送到客户端之前解析您想要的文件.js。告诉服务器是世界上最简单的事情:只需在文件名末尾添加.php。

因此,您可以将其命名为javascript.php。或者,你知道这个文件是主要的,你可以将它命名为javascript.js.php - 服务器将其识别为.php并解析它。

答案 3 :(得分:2)

是的,您可以,只要您的JavaScript代码嵌入到PHP文件中。

答案 4 :(得分:2)

你差不多了。唯一的区别是我将JavaScript代码分开,因此大多数都在外部静态文件中。然后你只需要从实际的PHP页面定义变量或调用一个函数:

<script type="text/javascript>
    function_in_other_file(<?php echo my_php_var; ?>);
</script>

答案 5 :(得分:2)

这是您在JavaScript文件顶部需要的一些代码:

<?php
    header('Content-Type: text/javascript; charset=UTF-8');
?>

(function() {
    alert("hello world");
}) ();

答案 6 :(得分:1)

小型演示可以帮助您: 在abc.php文件中:

<script type="text/javascript">
    $('<?php echo '#'.$selectCategory_row['subID']?>').on('switchChange.bootstrapSwitch', function(event, state) {
        postState(state,'<?php echo $selectCategory_row['subID']?>');
    });
</script>

答案 7 :(得分:0)

这里是一个例子:

html_code +="<td>" +
            "<select name='[row"+count+"]' data-placeholder='Choose One...' class='chosen-select form-control' tabindex='2'>"+
                "<option selected='selected' disabled='disabled' value=''>Select Exam Name</option>"+
                "<?php foreach($NM_EXAM as $ky=>$row) {
                echo '<option value='."$row->EXAM_ID". '>' . $row->EXAM_NAME . '</option>';
               } ?>"+
            "</select>"+
        "</td>";

echo '<option value=\"'.$row->EXAM_ID. '\">' . $row->EXAM_NAME . '</option>';

答案 8 :(得分:-1)

我们不能在JavaScript之间使用“PHP”,因为PHP在服务器和JavaScript上运行 - 在客户端上。

但是,我们可以使用所有PHP功能(包括escaping from HTML)生成JavaScript代码和HTML。