繁体   English   中英

在 js 函数中使用 php(外部 .js 文件)

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

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