如何將變數和資料從 PHP 傳遞到 JavaScript?
P粉369196603
2023-08-27 12:05:35
<p>我在 PHP 中有一個變量,我在 JavaScript 程式碼中需要它的值。如何將我的變數從 PHP 轉換為 JavaScript? </p>
<p>我的程式碼如下所示:</p>
<pre class="brush:php;toolbar:false;"><?php
$val = $myService->getValue(); // Makes an API and database call
</pre>
<p>在同一頁上,我有 JavaScript 程式碼,需要將 <code>$val</code> 變數的值作為參數傳遞:</p>
<pre class="brush:js;toolbar:false;"><script>
myPlugin.start($val); // I tried this, but it didn't work
<?php myPlugin.start($val); ?> // This didn't work either
myPlugin.start(<?=$val?>); // This works sometimes, but sometimes it fails
</script>
</pre>
<p><br /></p>
我通常在 HTML 中使用 data-* 屬性。
此範例使用 jQuery,但它可以適用於其他程式庫或普通 JavaScript。
您可以在此處閱讀有關資料集屬性的更多資訊:https: //developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset
實際上有幾種方法可以做到這一點。有些需要比其他更多的開銷,有些被認為比其他更好。
排名不分先後:
在這篇文章中,我們將研究上述每種方法,以了解每種方法的優缺點,以及如何實現它們。
1。使用AJAX從伺服器取得您需要的資料
此方法被認為是最好的,因為您的伺服器端和客戶端腳本是完全分開的。
優點
缺點
實作範例
使用 AJAX,您需要兩個頁面,一個是 PHP 產生輸出的頁面,第二個是 JavaScript 取得該輸出的頁面:
取得資料.php
index.php(或任何實際頁面的名稱)
以上兩個檔案的組合將在檔案載入完成時發出警報
42
。更多閱讀材料
#2。將資料回顯到頁面某處,並使用 JavaScript 從 DOM 取得資訊
這種方法不如 AJAX 好,但它仍然有其優點。 PHP 和 JavaScript 之間仍然相對分開,從某種意義上來說,JavaScript 中沒有直接的 PHP。
優點
缺點
來儲存訊息,因為獲取資訊更容易超出
inputNode.value
,但這樣做意味著HTML 中存在無意義的元素。 HTML 具有用於表示有關文件的資料的元素,並且HTML 5 引入了
data-*
屬性,用於專門用於使用可與特定元素關聯的JavaScript讀取的資料。實作範例
這樣,我們的想法是創建某種不會向使用者顯示但對 JavaScript 可見的元素。
index.php
3。將資料直接回顯到 JavaScript
這可能是最容易理解的。
優點
缺點
實作範例
實作相對簡單:
祝你好運!