在外部JS中使用PHP

hol*_*ian 1 javascript php

我有一个很大的验证JS脚本.我想把这个脚本作为外部JS.

一切正常,但在JS中我使用cookie来处理我的用户表单连接.

此外,我在这个JS中使用PHP.

如果在HTML中的JS,那么工作.但如果我把它放到外部,那么没有.

例如:

外部JS:

$(document).ready(function() {

     var test = $.cookie('tet');
     $.cookie('tet','8'); 

    <?php
     if (isset($_SESSION['main_check_a'])) {
     echo "$.cookie('tet','1');";
    ?>
}}
Run Code Online (Sandbox Code Playgroud)

}

我如何将这个PHP代码传递给我的外部JS?

Pek*_*ica 5

你需要

  • 让PHP解析JS文件,命名它filename.js.php或更改服务器的PHP配置来解析.js文件.但这不是最佳选择,因为将为每个脚本请求启动资源密集型PHP实例.

  • 或者,更好的IMO,在嵌入文档中的<script>标记进行必要的检查,并将结果存储在嵌入式外部脚本可以查询的JS变量中.这样,您的脚本文件可以保持静态.

    在你的情况下,这将意味着这样的事情.在主要文件中:

    <script> 
    <?php 
       echo "main_check_a = "; 
       echo (isset($_SESSION['main_check_a']) ? "true" : "false"); 
     ?>
    </script>
    
    
    .... now, include external JS files ....
    
    Run Code Online (Sandbox Code Playgroud)

    这将为main_check_a您提供可在外部脚本中使用的JavaScript变量.