簡體   English   中英

在.JS文件中訪問PHP變量

[英]Access PHP variable in .JS file

我正在嘗試訪問JS文件中的PHP變量。 js文件被附加在頁面的末尾。

現在,我只能想到2種可能的選擇,但是兩者似乎都有些棘手,我的問題是,這兩種方法的優缺點是什么(或者有更好的方法嗎?)。

選項1:在HTML文件中使用內聯腳本來設置變量。 例如

<body>
    <script type="text/javascript">
        var link = "<?= $var ?>";
    </script>
</body>

選項2:使用HTML data-attributes將變量分配給HTML容器,然后使用jQuery檢索它。 例如

在HTML文件中:

<body>
    <div id="container" data-ajaxVar="<?= $var ?>">
        Random html
    </div>
</body>

在JS文件中:

var link = $("#container").data("ajaxVar");

有什么建議么?

我很確定您應該為此使用json_encode。 它返回php值的JSON表示形式。 像這樣:

在你的PHP中

$n1 = array();
echo json_encode($n1);

在你的JavaScript中

  var link = $("#container").data(data.n1);

無法做更多,我在打電話,這很痛苦。 一些文檔在這里。

您的兩種選擇本質上是相同的。 這是將靜態變量從PHP傳遞到JS的“最簡單”方法-只需將其回顯到變量或容器中即可,以后就可以將其提取出來。

與將值嵌入HTML屬性中相比,使用實際的JS變量的優點是可以將更復雜的數據類型放置在變量中,例如數組和對象。 使用data-attribute方法,您幾乎被簡單的字符串“卡住了”。 這些可以稍后進行轉換,但這只是您必須采取的另一步驟。

您的另一種選擇是在頁面加載后使用AJAX調用來傳輸數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM