2015-05-19 178 views
0

我正在嘗試創建一個評論系統,並且他們的評論在提交時發佈在div上。我需要設置自己的用戶名:未捕獲的ReferenceError:未定義

var session_username = <?php echo $_SESSION['username']; ?>; 
var full = '<div> ...' + session_username + '...</div>'; 
$('#commentslice').prepend(full); 

在控制檯它說:

Uncaught ReferenceError: [whatever the username is] is not defined.

回答

3

除非你的PHP值(大概是一個字符串)包含了自己的報價,你應該把它包裝:

var session_username = "<?php echo $_SESSION['username']; ?>"; 

比方說,用戶名是「foo」,你還沒有包裝它。替代將出來:

var session_username = foo; 

這是一個參考變量foo。如果沒有定義(用戶名可能是不在你的代碼中的隨機字符串),你會遇到這個錯誤。

這不會改變PHP的行爲方式,它仍然會將該片段替換爲會話用戶名的值。然而,JS會看到一個字符串變量並將其視爲一些文本。

0
var session_username = "<?php echo $_SESSION['username']; ?>"; 

var session_username = <?php echo json_encode($_SESSION['username']); ?>; 
相關問題