将JS文件解析为PHP有什么副作用?

将JS文件解析为PHP有什么副作用?,php,javascript,embedding,Php,Javascript,Embedding,我有一些php变量需要在javascript中使用。我没有使用ajax来回传递变量,而是选择将js文件解析为php。下面是我所做工作的一个简单示例: #.htaccess AddType application/x-httpd-php .js //scripts.js //or for security reason, I could just use scripts.php and add header at the top) header("Content-type: text/java

我有一些php变量需要在javascript中使用。我没有使用ajax来回传递变量,而是选择将js文件解析为php。下面是我所做工作的一个简单示例:

#.htaccess
AddType application/x-httpd-php .js

//scripts.js
//or for security reason, I could just use scripts.php and add header at the top)

header("Content-type: text/javascript");
alert("Hello <?php echo $_SESSION['username']; ?>");
我已经使用这个方法有一段时间了,我没有注意到任何明显的问题


这样做有副作用吗?谢谢。

我看不出这有什么问题,但对我来说更简单的解决方案是:

<script type="text/javascript">
   var username = "<?=$_SESSION["username"]?>";
</script>

在模板或索引的头部区域。

我看不出有任何问题,但对我来说更简单的解决方案是:

<script type="text/javascript">
   var username = "<?=$_SESSION["username"]?>";
</script>

在模板或索引的头部区域。

您可能希望对自定义扩展名(如.phpjs)执行此操作,以避免在每个JavaScript文件上执行此操作。@tadman aha,猜猜看,这就是我现在使用的扩展名。为了使示例变得足够简单,我改为js。你还有一个副作用,即如果js被缓存,而另一个用户登录到同一台机器,他们可能会收到错误的js。更不用说,增加了服务器负载。您可能希望对自定义扩展名(如.phpjs)执行此操作,以避免在每个JavaScript文件上执行此操作。@tadman aha,猜猜看,这就是我现在使用的扩展名。为了使示例变得足够简单,我改为js。您还有一个副作用,即如果js被缓存,而另一个用户登录到同一台机器,他们可能会收到错误的js。更不用说,增加了服务器负载。