我需要在js代码中使用php变量 为什么这样做不起作用?
的index.php
<?php
$h = 966;
?>
index.js
var b = <?php echo $h;?>;
错误:
Uncaught SyntaxError: Unexpected token <
答案 0 :(得分:2)
您无法在JavaScript(.js)文件中运行php。
在您的帖子评论中查看Ed Cottrell分享的问题以获取更多信息,但基本上,PHP是一种服务器语言,而JavaScript是客户端语言 - 当您的计算机加载index.js
时,它看到PHP脚本,但不知道如何处理它。
一个简单的解决方案(尽管不是最好的)是从<script>
文件中输出包含变量的php
标记,然后从您的JavaScript文件中访问它。
答案 1 :(得分:1)
当您的浏览器请求Js文件时,Web服务器通常只是将响应中的文件发送给它而不像php文件那样处理它。它不知道你有PHP代码。它对图像,文本文件等执行相同的操作(只是将其发送到请求的浏览器)
您可以尝试在php视图/模板/脚本中执行此操作(我将输出包装在单引号中)。类似的东西:
<script>var b = '<?php echo $h;?>';</script>
您还可以创建一个带有php扩展名的JavaScript文件:index.js.php,并包含此文件而不是index.js。您需要在该文件的顶部设置一些标题,让浏览器知道它获取JavaScript:
header("content-type: application/javascript");
你可以做一些稍微高级的东西:使用htaccess文件解析某些请求(比如那个Js文件)使用php,或使用异步请求(Ajax)来提取&#39的值; b&#39;从服务器,但看起来你做的事情更简单。