Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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
如何在JavaScript中嵌入PHP代码?_Php_Javascript - Fatal编程技术网

如何在JavaScript中嵌入PHP代码?

如何在JavaScript中嵌入PHP代码?,php,javascript,Php,Javascript,如何在JavaScript中使用PHP代码 像 函数jst() { var i=0; i= 警报(一); } 请建议一个更好的方法。是的,如果您的JavaScript代码嵌入到PHP文件中,您可以。您已经非常熟练了。唯一的区别是我将JavaScript代码分离出来,这样大部分代码都在一个外部静态文件中。然后您只需定义变量或从实际的PHP页面调用函数: <script type="text/javascript> function_in_other_file(<?php

如何在JavaScript中使用PHP代码

函数jst()
{
var i=0;
i=
警报(一);
}

请建议一个更好的方法。

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

您已经非常熟练了。唯一的区别是我将JavaScript代码分离出来,这样大部分代码都在一个外部静态文件中。然后您只需定义变量或从实际的PHP页面调用函数:

<script type="text/javascript>
    function_in_other_file(<?php echo my_php_var; ?>);
</script>
我们不能使用“介于JavaScript之间的PHP”,因为PHP在服务器上运行,JavaScript在客户端上运行


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

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

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

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

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

var my_var=;
然后可以在JavaScript文件中使用
my_var


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

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

page.php(这将起作用)

函数jst()
{
var i=0;
i=;
警报(一);
}
page.js(这行不通)

函数jst()
{
var i=0;
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");
}) ();

(功能(){
警报(“你好世界”);
}) ();
一个小演示可以帮助您: 在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>

$('').on('switchChange.bootstrapSwitch',函数(事件、状态){
后状态(状态“”);
});
以下是一个示例:

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>";
html\u代码+=“”+
""+
“选择考试名称”+
""+
""+
"";

echo“”$行->检查名称。“;

你能告诉我一个简单的hello world程序吗,这样我就有点了解我的mindA“hello world”程序到底在做什么?基本上(我想)他说的是,如果上面的代码片段在一个.php文件中,它会工作的。应该注意的是,它可能不一定是您所期望的方式,这取决于您所期望的;exp.js包含->乐趣(i){alert(i);}@Dumbledore其他答案对此没有任何补充。被接受的答案也完全一样。我想知道你在哪里找到了一个不需要标题的“新样式”。错了,你需要这个标题,如果你用另一个标题创建了一个服务工作者的sw.php,那么它就失败了。或者更漂亮的jQuery/php选择器:
$(“”)
已经有一段时间了,但我无法让它工作,除非我在php代码周围添加双引号,比如:
var my_var=”“,你知道原因吗?
<?php
    header('Content-Type: text/javascript; charset=UTF-8');
?>

(function() {
    alert("hello world");
}) ();
<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>';