繁体   English   中英

如何在.php a.html 中包含指向具有 php 代码的 a.js 的链接

[英]How to include in .php a .html with links to a .js that has php codes

我有一个文件夹,基本上包含:

  • .php
  • .html
  • .js
  • .css

在 php 里面我当然需要加载 html 来显示网页。 在 html 内部有一个引用 .js 文件的脚本标签。

现在在 JS 文件中,我有一个需要在那里运行的 php 代码。 但是使用我加载 html the.js 的方法会引发错误

PHP

<?php
  $value = 1;
  //$html = file_get_html('index.html')
  //include ("index.html")
  readfile('index.html');
?>

HTML

<html>
  <head>
    <script src="script.js"></script>
  </head>
  <body>
  </body>
</html>

Javascript

var myNum = <?php echo json_encode($value); ?>;

不幸的是,我包含 html 的方式在 .js 文件中出现错误

Uncaught SyntaxError: Unexpected token '<'

我究竟做错了什么? 有没有其他方法可以包含,以便我能够在 my.js 文件中编写 php 代码。 不幸的是,我不允许更改文件扩展名,只能有一个 php 文件。 我分离了 javascript 和 css 文件以使代码更清晰

编辑:很多可能似乎是误解,这仍然在服务器中,基本上我想要的是用户收到的网页已经具有 MyNum 的值。 我什至在变量到达用户之前就对其进行了初始化

在您的 PHP 文件中,创建一个包含 JSON 的全局变量:

<script>var myNum = <?php echo json_encode($value); ?>;</script>

然后使用myNum在脚本文件中引用该变量。

PHP 代码在服务器上运行,客户端(本例中为浏览器)将仅获取 PHP 的 output。 事实上,浏览器无法执行 PHP 代码。
JavaScript 在客户端运行。 浏览器获取 JavaScript 代码,并执行它。 如果您真的想从 PHP 生成 JS 代码,您唯一能做的就是为 js 文件(test.js -> test.js.php)提供一个.php 结尾。
这样,文件将被解释为 PHP。 浏览器得到结果(javascript,包含编码的 JSON),一切正常。 如果你想将 $value 从第一个 PHP 传递到 test.js.php,请阅读 GET 变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM