簡體   English   中英

如何將變量從php傳遞到jQuery

[英]How pass variable from php to jQuery

我有一個config.php文件,其中定義了幾個變量。

我想在jQuery腳本中使用其中一些變量。

我創建了帶有以下內容的header-js.php文件:

<script type="text/javascript">
jQuery("#msgid1").html("Hello world.");
jQuery("#msgid1").html("Hello world again.");
global_cookie_prefix = <?php echo(global_cookie_prefix);?>;
</script>

當我在上面運行時,msgid1 div顯示“ Hello world again”。

當我交換行到:

<script type="text/javascript">
jQuery("#msgid1").html("Hello world.");
global_cookie_prefix = <?php echo(global_cookie_prefix);?>;
jQuery("#msgid1").html("Hello world again.");
</script>

msgid1 div顯示“ Hello world”。

似乎我在定義global_cookie_prefix的那一行導致腳本中止。

我不知道如何解決這個問題。

解凍。

我敢打賭,問題在於您沒有使用var關鍵字定義變量,和/或您的PHP代碼段不在引號之間。 嘗試這個

var global_cookie_prefix = '<?php echo global_cookie_prefix; ?>';
^^^                        ^                                   ^

當您要將變量作為字符串傳遞給JS時,您需要告訴JS它是字符串: global_cookie_prefix = '<?php echo global_cookie_prefix;?>'; (假設global_cookie_prefix是一個常量,在這種情況下,按照慣例,它應該全部為大寫)

您確定global_cookie_prefix是一個常量(因為它不是大寫)。 嘗試將變量符號“ $”添加到global_cookie_prefix,以防其未定義常量。

<?php echo($global_cookie_prefix);?>;

此外,您還需要在JavaScript中加引號...(按$嘗試使用和不使用$取決於常量),順便說一句,常量是大寫的。

global_cookie_prefix = "<?php echo global_cookie_prefix; ?>";

由於您的腳本實際上是輸出Javascript的PHP腳本,因此您的腳本可能會因錯誤而終止,因為global_cookie_prefix是未定義的常量。 如果global_cookie_prefix是變量,並且已在包含此腳本的頁面上的其他位置定義了該變量,則可能需要通過添加“ $”符號將代碼更新為以下內容。

您還需要在JS中使用'var'關鍵字,以避免在嚴格模式下出錯。

<script type="text/javascript">
  jQuery("#msgid1").html("Hello world.");
  **var** global_cookie_prefix = '<?php echo(**$**global_cookie_prefix);?>';
  jQuery("#msgid1").html("Hello world again.");
</script>

我還建議您檢查您的apache錯誤日志,以查看錯誤原因,並確認您的PHP輸出未在該行中斷。

另外,如果您打開error_reporting,PHP會生成有關global_cookie_prefix未定義的警告,這肯定會破壞您的JavaScript,並使其在此時失效。

如果您粘貼更多代碼以提供此代碼段上下文,則將更容易獲得幫助。

編輯:我在PHP輸出周圍添加了單引號,因為PHP的字符串輸出會破壞您的JavaScript。

暫無
暫無

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

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