在我的模板视图文件中有以下代码:
<script>
// When the document is ready
$(function() {
var treedata = <?php (($treedata=="" ? "":$treedata)); ?>;
$('#treeview').treeview({data: treedata});
});
</script>
但是我没有在每个页面中使用这个树视图,因此每当没有treedata发送时输出将是这样的
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: treedata
Filename: views/admin.php
Line Number: 355
如果没有控制器发送treedata,我怎么能把它留空?
答案 0 :(得分:2)
你可以使用这种方法。
var treedata = <?php echo isset($treedata) ? '"'.$treedata.'"' : "''" ; ?>;
ReferenceError: a is not defined
。答案 1 :(得分:1)
您有多种选择。我的首选立场通常是设计您的代码,以便您永远不会有未定义的变量。如果没有该代码结构,您可以确保它已设置:
$treedata = isset( $treedata ) ? $treedata : "";
或者,您可以考虑完全禁用NOTICE警告。你如何做到这一点取决于具体情况,但你可能会尝试这样的事情:
ini_set('error_reporting', E_ALL & ~E_NOTICE);
此外,当$treenode
为空时,您是否还有Javascript错误?我相信当$treenode
为空时,您的Javascript行会变为:
var treedata = ;
哪个错误。建议你用PHP包装引号:
var treedata = <?php (($treedata=="" ? '""':$treedata)); ?>;
答案 2 :(得分:1)
您应该使用isset()函数来检查变量存在。 所以,你应该替换:
Promise
要
$treedata==""
isset() - 确定变量是否已设置且不为NULL