Javascript检查是否定义了PHP变量

时间:2017-05-22 04:00:01

标签: javascript php

我无法找到问题的答案,我也不确定这是否可行。

有没有办法检查是否使用javascript定义了PHP变量?

这是一个例子:

var op = <?PHP echo json_encode($op); ?>;

如果未定义$op我在javascript中出错:

Events:362 Uncaught SyntaxError: Unexpected token )

我理解这是正常的,因为PHP中不存在此变量。但如果变量不存在,有一种方法可以避免错误吗?

4 个答案:

答案 0 :(得分:2)

您可以查看:

var op = <?php echo (isset($op) && $op) ? json_encode($op) : 'null'; ?>;

答案 1 :(得分:2)

变化:

var op = <?PHP echo json_encode($op); ?>;

要:

var op = <?PHP echo (!empty($op) ? json_encode($op) : '""'); ?>;

在响应甚至发送给用户之前,在服务器上执行PHP。一旦用户收到响应,Javascript就会在浏览器上执行。所以&#34;沟通&#34;以你描述的方式是不可能的。如果$op为空,只需在PHP中测试,然后相应地输出。

答案 2 :(得分:2)

empty()是您的最佳选择。 http://php.net/manual/en/function.empty.php

var op = <?= !empty($op) ? json_encode($op) : '""' ?>;

答案 3 :(得分:0)

试试这样:

var op = <?= isset($op) ? json_encode($op) : "" ?>;