javascript中的php变量
我有以下php代码:javascript中的php变量,php,javascript,Php,Javascript,我有以下php代码: $test = 'abc'; echo '<script type="text/javascript">\n'; echo 'movtitle = ' . $test . ';\n'; echo '</script>'; $test='abc'; 回音'\n'; 回显“movtitle=”$测试";\n′; 回声'; 我试着做一个警报(movtitle),但它没有打印出任何内容。我做错了什么?您缺少movtitle值周围的引号:
$test = 'abc';
echo '<script type="text/javascript">\n';
echo 'movtitle = ' . $test . ';\n';
echo '</script>';
$test='abc';
回音'\n';
回显“movtitle=”$测试";\n′;
回声';
我试着做一个
警报(movtitle)
,但它没有打印出任何内容。我做错了什么?您缺少movtitle值周围的引号:
echo "movtitle = '" . $test . "';\n";
您缺少movtitle值周围的引号:
echo "movtitle = '" . $test . "';\n";
你可以试试这个:
echo'movtitle=“”.$test.”\n′
这将创建如下所示的javascript
movtitle=“卡萨布兰卡”
还要注意的是\n在单引号内不起作用。您可以尝试以下方法:
echo'movtitle=“”.$test.”\n′
这将创建如下所示的javascript
movtitle=“卡萨布兰卡”
还要注意的是\n在单引号内不起作用。甚至最好对变量进行JSON编码:
$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
// normal processing
$test = 'abc';
?>
<script type="text/javascript">
movtitle = " <?php echo $test; ?>";
</script>";
<?php
// resume processing
?>
$test='abc';
打印(“\n”);
printf(“movtitle=JSON.parse('%s');\n”,JSON_encode($test));
打印(“”);
使用此解决方案,您可以将多个对象类型传递给javascript。甚至可以对变量进行JSON编码:
$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
// normal processing
$test = 'abc';
?>
<script type="text/javascript">
movtitle = " <?php echo $test; ?>";
</script>";
<?php
// resume processing
?>
$test='abc';
打印(“\n”);
printf(“movtitle=JSON.parse('%s');\n”,JSON_encode($test));
打印(“”);
使用此解决方案,您可以将多个对象类型传递给javascript。我会这样做:
<?php
$test = 'abc';
?>
<script type="text/javascript">
alert('<?php echo $test; ?>');
</script>
警报(“”);
我会这样做:
<?php
$test = 'abc';
?>
<script type="text/javascript">
alert('<?php echo $test; ?>');
</script>
警报(“”);
你解决这个问题的方法是错误的,颠倒过来的
javascript中根本没有PHP变量。只有一些字符串需要用PHP输出
因此,正确的方法是:
测试,如果有效
编辑:看起来你在opt失败了。1.你有纯JS代码工作吗?您的浏览器似乎有问题,而不是PHP。您解决这个问题的方式是错误的,颠倒的 javascript中根本没有PHP变量。只有一些字符串需要用PHP输出 因此,正确的方法是:
测试,如果有效
编辑:看起来你在opt失败了。1.你有纯JS代码工作吗?您的浏览器似乎存在一些问题,而不是PHP。这里有几个问题: 首先,您对echo语句使用单引号,因此转义字符不起作用。
/n
字符被逐字回显,因此您的输出如下所示:
<script type="text/javascript">\nmovtitle = abc;\n</script>
movtitle = "abc";
这表示“将变量“abc”的值分配给变量“movtitle”。由于代码中没有变量“abc”,因此该行失败。该行需要如下输出:
<script type="text/javascript">\nmovtitle = abc;\n</script>
movtitle = "abc";
请注意,我上面的示例代码为您解决了这个问题
一个更好的选择是根本不在PHP中重复这一点。相反,退出PHP并直接编写原始HTML。您可以快速跳转到PHP中,只需输入变量:
$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
// normal processing
$test = 'abc';
?>
<script type="text/javascript">
movtitle = " <?php echo $test; ?>";
</script>";
<?php
// resume processing
?>
movtitle=“”;
";
一般来说,最好将PHP处理工作和HTML输出尽可能分开。在PHP中提前完成所有工作,然后
包含一个模板文件,该模板文件使用与我在上一个示例中显示的相同类型的“填空”PHP变量。这里有几个问题:
首先,您对echo语句使用单引号,因此转义字符不起作用。/n
字符被逐字回显,因此您的输出如下所示:
<script type="text/javascript">\nmovtitle = abc;\n</script>
movtitle = "abc";
这表示“将变量“abc”的值分配给变量“movtitle”。由于代码中没有变量“abc”,因此该行失败。该行需要如下输出:
<script type="text/javascript">\nmovtitle = abc;\n</script>
movtitle = "abc";
请注意,我上面的示例代码为您解决了这个问题
一个更好的选择是根本不在PHP中重复这一点。相反,退出PHP并直接编写原始HTML。您可以快速跳转到PHP中,只需输入变量:
$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
// normal processing
$test = 'abc';
?>
<script type="text/javascript">
movtitle = " <?php echo $test; ?>";
</script>";
<?php
// resume processing
?>
movtitle=“”;
";
一般来说,最好将PHP处理工作和HTML输出尽可能分开。在PHP中提前完成所有工作,然后包含一个模板文件,该模板文件使用与我在上一个示例中显示的相同类型的“填空”PHP变量。我认为您必须删除\n
。如何提醒它?美元测试的类型是什么?如果它是字符串,你需要在它周围加引号。你能在javascript中直接使用php变量吗?我想你必须删除\n
。你如何提醒它?美元测试的类型是什么?如果是字符串,你需要在它周围加引号。你能在javascript中直接使用php变量吗?@Zachary我知道,现在太早了,我还没有真正醒过来。@Zachary我知道,现在太早了,我还没有真正醒过来。请注意,你必须关闭php标记。@EquinoX嘿,伙计!您是否启用了JS?请注意,您必须关闭PHP标记。@EquinoX嘿,伙计!您是否启用了JS?