如何将PHP表达式分配给JavaScript变量?

时间:2012-04-21 22:58:11

标签: php javascript jquery

我知道这似乎是一个愚蠢的问题,但我收到了synatx错误var imagename = ;。在下面的代码中。

 var imagename = <?php if (isset($_SESSION['imagename'])) echo json_encode($_SESSION['imagename']); ?>;

var imagename是一个javascript变量,但为什么我会收到此错误?是因为;是在错误的地方还是我弄乱了;或者我添加了很多;我似乎无法弄明白。

由于

3 个答案:

答案 0 :(得分:2)

你没有else子句,所以如果没有设置该会话变量,你最终会生成空任务。

var imagename = <?php if (isset($_SESSION['imagename'])) { echo json_encode($_SESSION['imagename']); } else { echo "''"; } ?>;

答案 1 :(得分:2)

也许你正在寻找这样的东西:

var imagename = <?php echo json_encode(isset($_SESSION['imagename']) ? $_SESSION['imagename'] : null); ?>

有关三元运算符如何工作的详细信息,请参阅http://php.net/ternary#language.operators.comparison.ternary

答案 2 :(得分:0)

$_SESSION['imagename']不存在时,可能会发生错误。你应该在发生这种情况时添加一个else子句。