如何在外部JavaScript代码中使用php变量?

时间:2013-01-17 21:15:49

标签: php javascript jquery

通常,当我需要在javascript代码中使用一些php时,我会像这样把代码放到头部:

<script>
    $(function() {

    $("input#datepicker").val('<?php echo $date ?>');
});
</script>

这样,我可以在javascript代码中使用一些php变量。它工作正常。

如果我想将所有javascript代码放在外部js文件中,你知道怎么做:

<script type="text/javascript" src="js/admin.js"></script>

也许它根本不重要。但我使用外部js文件编码,并且我想知道是否可以这样做。

2 个答案:

答案 0 :(得分:4)

您需要将js文件设为php文件。

<script type="text/javascript" src="js/admin.php"></script>

如果您仍想保留js扩展名,则需要为您的网络服务器重写。

<强> JS / admin.php的

<?php
header("content-type: text/javascript");
?>
$(function() {
    $("input#datepicker").val('<?php echo $date ?>');
});

如果你想在这里使用js扩展名是一个重写的例子。

<强> Nginx的

rewrite /js/admin.js /js/admin.php;

<强>的Apache

RewriteEngine On
RewriteBase /
rewrite /js/admin.js /js/admin.php;

答案 1 :(得分:1)

最好将js缓存到客户端浏览器中,然后将变量发送到客户端。 如果您将所有js作为新响应提供服务。考虑带宽和对Web服务器的另一个请求。

<script type="text/javascript" src="js/admin.js"></script>
<script type="text/javascript">
    var myVar = <?php echo json_encode($myVar); ?>;

    myAdminFunction(myVar);
</script>