[英]using php in js function (external .js file)
我有一个包含如下函数的 jakosc-powietrza.js 文件:
var combo1 = document.getElementById('S0_Data');
function test() {
var dzien = combo1.value.trim();
alert("Wybrano " + dzien);
};
function render_test() {
var test1 = <?php echo x; ?>;
var chart = new CanvasJS.Chart("chartContainer", {
theme: "light2",
animationEnabled: true,
title: {
text: "Pomiar parametrów powietrza",
fontSize: 25
},
axisX: {
title: "Czas",
titleFontSize: 15,
labelAngle: -90,
intervalType: "hour",
interval:55
},
axisY: {
title: "oC/%",
titleFontSize: 15
},
axisY2: {
title: "ppm/ppb",
titleFontSize: 15
},
data: [
{
type: "line",
color: "red",
name: "Temperatura",
showInLegend: true,
dataPoints: <?php echo json_encode($data_points, JSON_NUMERIC_CHECK); ?>
},
{
type: "line",
color: "green",
name: "Wilgotność",
showInLegend: true,
dataPoints: <?php echo json_encode($data_points2, JSON_NUMERIC_CHECK); ?>
},
{
type: "line",
color: "blue",
name: "eCO2",
axisYType: "secondary",
showInLegend: true,
dataPoints: <?php echo json_encode($data_points3, JSON_NUMERIC_CHECK); ?>
},
{
type: "line",
color: "yellow",
name: "TVOC",
axisYType: "secondary",
showInLegend: true,
dataPoints: <?php echo json_encode($data_points4, JSON_NUMERIC_CHECK); ?>
}
]
});
chart.render();
};
combo1.addEventListener('change', render_test, false);
我将它包含在 test.php 文件中,如下所示:
<script type="text/javascript" src="js/jakosc-powietrza.js"></script>
当我使用浏览器打开 test.php 文件时,我在 Web 控制台中收到以下错误:
语法错误:预期的表达式,得到“<”
...它指出了这一点:
var test1 = <?php echo x; ?>;
任何指示我做错了什么?
可以像处理.php
文件一样让 PHP 解析/解释您的.js
文件,但这通常是一个坏主意。 (当然,默认情况下没有 PHP 安装会这样做。)
相反,在您的外部 JavaScript 执行之前将您想要的值放入您的.php
文件中,并在您的外部 JavaScript 中引用它。 例如:
<script type="text/javascript">
var test1 = <?php echo x; ?>;
</script>
<script type="text/javascript" src="js/jakosc-powietrza.js"></script>
随着复杂性的增加,有多种方法可以管理范围,将动态值视为要注入到其他独立(可单元测试)JavaScript 模块中的依赖项。 但前提是一样的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.