我有一个function.php代码简单的一个:
$var = "7000";
我还有另一个文件script.js:
var Price = <?php echo $var ?>;
现在,当此代码位于同一文件中时,它可以工作。
但是当我分离文件时并没有。
有什么建议吗?
答案 0 :(得分:0)
创建一个名为price.php
的脚本,其内容如下:
<?php
header("Content-type: text/javascript"); // As suggested by Mark Eriksson
$var = "7000";
?>
const PRICE = <?php echo $var; ?>;
现在您可以在任何HTML页面上引用此JavaScript块:
<script src="price.php"></script>
您将有一个名为PRICE
的全局JavaScript变量(常量)。
您需要可变价格吗?没问题,您可以将值作为参数传递,例如:
<script src="price.php?price=8500"></script>
然后在您的price.php
中,将其更改为:
<?php
$var = $_GET["price"];
?>
const PRICE = <?php echo $var; ?>;
您的HTML页面仍然获得名为PRICE
的常量。
答案 1 :(得分:0)
正如GrumpyCrouton在对您的评论中所指出的那样,一个文件中的变量可以通过包含它们而在另一个文件中读取
<?php
include('file1.php'); // include the file where the variable is defined
<script>
var Price = <?= json_encode($var) ?>; // in javascript code export the variable to js usign json
</script>
使用json_encode并将变量直接转储到js中始终是安全的,这样就不必再封装它了,我将在最后添加一个分号,但这在当今时代更是个人喜好。 / p>
答案 2 :(得分:-1)
好吧,如果要访问一些PHP变量,则需要使用AJAX。 非常简单。
在function.php文件中执行此操作
<?php
$var = "7000";
// Put your price into array to form it into JSON format further
$data = ["price" => $var];
return json_encode($data);
然后在您的JS文件中
。let xhr = new XmlHttpRequest();
xhr.open('get', 'function.php', true);
xhr.onload = function() {
if (this.status == 200) {
var data = JSON.parse(this.response);
// Your final result
var Price = data.price;
}
}
xhr.send();