js代码里面的php变量

时间:2014-07-18 22:55:29

标签: php jquery

我需要在js代码中使用php变量 为什么这样做不起作用?

的index.php

<?php
$h = 966;
?>

index.js

var b = <?php echo $h;?>;

错误:

Uncaught SyntaxError: Unexpected token < 

2 个答案:

答案 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;从服务器,但看起来你做的事情更简单。