[英]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.