我无法找到问题的答案,我也不确定这是否可行。
有没有办法检查是否使用javascript定义了PHP变量?
这是一个例子:
var op = <?PHP echo json_encode($op); ?>;
如果未定义$op
我在javascript中出错:
Events:362 Uncaught SyntaxError: Unexpected token )
我理解这是正常的,因为PHP中不存在此变量。但如果变量不存在,有一种方法可以避免错误吗?
答案 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) : "" ?>;