[英]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.