我有一個PHP變量:如何將PHP變量的值傳遞給jQuery的
$name_of_current_page
,我有我的觀點可用,我想提供給jQuery的價值。最好的辦法是像下面這樣做嗎?
$(document).ready(function() {
var current page = "<?php echo $name_of_current_page; ?>" ;
});
我有一個PHP變量:如何將PHP變量的值傳遞給jQuery的
$name_of_current_page
,我有我的觀點可用,我想提供給jQuery的價值。最好的辦法是像下面這樣做嗎?
$(document).ready(function() {
var current page = "<?php echo $name_of_current_page; ?>" ;
});
這真的取決於如果您使用某種形式模板引擎。
如果您使用純PHP,你唯一的選擇就是echo
變量:
var current page = "<?php echo $your_var; ?>";
Twig引擎:
var current page = "{{ your_var }}";
var current page = "{$your_var}";
正如你所看到的,還有其他方法。他們都工作得很好。這真的取決於你想如何編寫和組織你的代碼。我親自使用Twig,並發現它非常簡單,快速和直接。另外,正如其他人指出的那樣,您可以對服務器執行AJAX調用並獲取像這樣的變量。我發現這種方法耗時,效率低下,不安全。如果您選擇此方法,您將會將請求發佈到腳本。每個人都可以對該腳本發佈/獲取請求,從而爲某些機器人和DoS/DDoS攻擊打開大門。
說使用AJAX可以爲機器人打開大門,DoS類似於說把任何東西放在網上打開大門。雖然事實上,這是真的,但有很多理由使用AJAX將數據拖入JavaScript。每個主要網站,像谷歌,Facebook等IDK。做這個。 把一個簡單的index.php放在那裏用<?php echo「Hello World」;他打開DoS攻擊。如果他的網絡服務設計得當,那麼他不必擔心(儘可能多的)有人獲得他的數據。 –
@MichaelRice不會誤解我的意思 - 使用AJAX非常棒。但它引發了一些問題。所以應該明智地使用它。比較谷歌,Facebook等可能是一箇中小型網站是錯誤的。谷歌可以負擔得起這些服務,因爲他們擁有無限制的系統資源,一眼就能處理機器人/ DoS/DDoS,而中小型網站只是簡單的離線。 – tftd
var 當前頁面 =「」;
我不認爲你可以在變量中有空格。 (我可能是錯的)。
無論如何爲了簡化你的代碼,我只是稍微重做了一遍。
$name_of_current_page = "HomePage";
而對於Javascript;
var currentPage = "<?= $name_of_current_page; ?>";
應該是這樣。
你可以在你的變量中有空格。 php標籤的Exept是正確的方法。你最好不要在PHP中使用短標籤。而不是「<?=」使用「<?php」[PHP 6正式廢棄短標籤]如果我對此正確 –
@RensTillmann我發現的一些內容表明它是短php標籤('' and '?>')那麼正在被刪除,而短的_echo_標籤('=' and '?>')留在。你有一個官方資源的鏈接? – Izkata
對,沒有足夠好的閱讀源代碼:http://www.php.net/~derick/meeting-notes.html - (自PHP 5.4.0起,<?=總是可用) –
首先,你問的是填充客戶端代碼的正常方式,但是這個將在頁面加載時加載,如果你想在加載頁面的時候直接運行它,你必須使用ajax,原因是你將如何與服務器端腳本交流的方式,是不可能的jquery或JavaScript加載頁面已加載的現場php變量
是的。至少是最簡單的。你可能會過於複雜,這是你想通過向服務器發送一個AJAX請求來獲取數據,然後以這種方式加載你的變量。 –
也許不是最好的,但工作正常:) – PiLHA
可能的重複[如何將PHP變量傳遞給Javascript](http://stackoverflow.com/questions/4742515/how-to-pass-a-php-variable-to -javascript) –