繁体   English   中英

如何在 JavaScript 中嵌入 PHP 代码?

[英]How do I embed PHP code in JavaScript?

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

喜欢

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

请提出更好的方法。

如果您的整个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可以使用的格式。

如果将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);
}

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

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

因此,您可以将其命名为javascript.php 或者,因此,您知道该文件的名称是什么,可以将其命名为javascript.js.php-服务器会将其识别为.php并进行解析。

这是您的JavaScript文件顶部所需的代码:

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

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

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

您几乎可以控球了。 唯一的区别是,我将JavaScript代码分离出来,因此大部分都在一个外部静态文件中。 然后,您只需在实际的PHP页面中定义变量或调用函数即可:

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

一个小型演示可以帮助您:在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>

这是一个例子:

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>';

我们不能在“JavaScript 之间使用 PHP”...

嗯,为什么这会起作用:

<script type="text/javascript">
    var clicks = 0;
        function hello() {
        clicks += 1;
        document.getElementById("clicks").innerHTML = clicks;
        <?php
        $xyz = "data \n";
        $handle = fopen("BESTIMMT.txt","a");
        $text = "$xyz";
        fwrite($handle, $text);
        fclose($handle);
        ?>
                        };
</script>

这是一个 onclick-script 按钮,用于计算点击次数。 PHP 部分也只能在 onclick? 上执行。 我无法解决的(唯一)事情是将“点击”的(JS-)值传递给 PHP ......

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

但是,我们可以使用所有PHP功能(包括从HTML转义)生成JavaScript代码以及HTML

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM