将php变量转换为javascript.Not工作

时间:2013-04-09 18:19:39

标签: php javascript

<?php
header("Content-type: application/javascript");
?>
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<?php 

   $variable=10;
?>
<script>

   var myVar = "<?php echo $variable; ?>";
   alert(myVar);

</script>
</body>
</html>

这是我的源代码,但它无效。我担心的是将php变量转换为javascript变量。警报将整行显示为字符串     而不是打印值...已经尝试过json函数。没有使用。我该怎么办?

3 个答案:

答案 0 :(得分:6)

删除此行:

header("Content-type: application/javascript");

这告诉浏览器将此页面作为文本输出(即浏览器不会呈现它),应将JavaScript加载到HTML文件中。

答案 1 :(得分:5)

当它实际上正在接收HTML时,你绝对不应该告诉浏览器它正在接收JavaScript:

header("Content-type: text/html");

HTML包含<script>标记,其本身包含JavaScript的事实完全不同。

此外,在JavaScript中注入PHP变量的更多更好的方法是

var myVar = <?php echo json_encode($variable); ?>;

请注意,值{ - {1}}周围没有引号根据需要自动引用。关于注入变量的一些细节使得这个变量和原始方法都不是防弹的,但json_encode作为默认选择会更好。

答案 2 :(得分:0)

我猜您的文件扩展名为.php。在这种情况下,一个简单的<script>var myVar=<?php print $variable; ?></script>会做,不需要用引号或双引号括起来:P