簡體   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