0

通常,当我需要在 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 文件中编码,我想知道是否可以这样做。

4

2 回答 2

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;

阿帕奇

RewriteEngine On
RewriteBase /
rewrite /js/admin.js /js/admin.php;
于 2013-01-17T21:18:51.097 回答
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>
于 2013-01-17T21:23:46.590 回答