我想使用 js 代碼,它適用于 php 變數。我現在的情況:
主檔案.php
<?
$myPHPvar = 1234;
?>
<html>
<body>
MY CONTENT
<script>
var myJSvar = <? echo $myPHPvar; ?>
</script>
<script src="myFile.js"></script>
</body>
</html>
我的檔案.js
// Here some js code where I access the myJSvar, which was set by $myPHPvar before
console.log(myJSvar);
這有效!但我想改變這種結構。我想將 myJSvar 定義從主檔案移到 jsFile 中。
但是如果我將此行移動var myJSvar = <? echo $myPHPvar; ?>到 myFile.js 中,它將不起作用,因為這不是一個 php 檔案。
不是我認為這可能是一個解決方案:
我將 myFile.js 重命名為 myFile.php 并像這樣更改代碼:
// 這里是一些 js 代碼,我訪問了 myJSvar,它之前是由 $myPHPvar 設定的
<script>
var myJSvar = <? echo $myPHPvar; ?>
console.log(myJSvar);
</script>
而在mainfile.php中我改變<script src="myFile.js"></script>到include('myFile.php');
這有效!
但是:首先要問的是:這樣做是個好主意嗎?第二:現在的“問題”:我所有的檔案現在都是php檔案,也是檔案,主要包括js代碼。那不是很漂亮,因為現在我在第一個視圖上看不到,哪個是js檔案,哪個是php檔案。
感謝您的支持 !
uj5u.com熱心網友回復:
使用 PHP,將值回顯到頁面上隱藏的 HTML 欄位。
當您知道頁面已完成加載時,請使用 JavaScript 將它們讀回。
請注意,理想情況下,您只需將資料作為對 URL 的單獨 AJAX/xhr/fetch 呼叫(JSON 或 XML 格式的資料對此很好),但作為權宜之計,隱藏欄位將對基本 PHP 起作用頁。
同樣,您可以回顯一些行內 JavaScript(標簽和所有)并在其他地方參考變數。這種方法是可行的,但通常被稱為“意大利面條式代碼”,因為交織在一起的前端 (JavaScript) 和后端 (PHP) 代碼使除錯變得棘手,并且不能很好地擴展到更大的代碼專案......數月或數年之后,開發人員會發現自己對代碼的位置、代碼的生成方式、新代碼應放置在何處等問題感到頭疼。
uj5u.com熱心網友回復:
從技術上講這是可能的,但在標準使用中,不推薦這樣做。為什么需要 PHP 來設定變數的值?如果資料來自資料庫,您可以考慮使用 ajax。這樣您就可以將后端檔案保存在其他地方。
uj5u.com熱心網友回復:
你可以這樣做。并沒有什么問題。您必須以某種方式將資料帶到客戶端瀏覽器。您可以通過以下方式執行此操作: 1. 在 DOM 中設定 php 變數 2. XHR 呼叫或 3. cookie
uj5u.com熱心網友回復:
這可以通過動態生成 JS 檔案來實作...您可以創建一個 PHP 檔案來動態生成 JS,如下所示:
注意:強烈不推薦這種方法。這僅供您參考和了解。
myFile.php(JS 等效檔案)
console.log(123)
你的 HTML 檔案
<script type="text/javascript" src="a.php"></script>
但強烈不建議這樣做,因為 JS 檔案是可以快取的靜態資源。使用這種方法會在每次頁面加載時請求 JS 檔案(只有在它是靜態的情況下才會在第一次加載時傳輸)。
最好的方法是將動態變數保留在 HTML 中,然后包含將使用這些變數的靜態 JS 檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/370410.html
標籤:javascript php
下一篇:SVG:獲取被點擊的元素
