Javascript 有忽略未定义变量的脚本吗?

Javascript 有忽略未定义变量的脚本吗?,javascript,php,codeigniter,Javascript,Php,Codeigniter,在“我的模板”视图文件中,包含以下代码: <script> // When the document is ready $(function() { var treedata = <?php (($treedata=="" ? "":$treedata)); ?>; $('#treeview').treeview({data: treedata}); }); </

在“我的模板”视图文件中,包含以下代码:

<script>
    // When the document is ready
    $(function() {
        var treedata = <?php (($treedata=="" ? "":$treedata)); ?>;
        $('#treeview').treeview({data: treedata});
    });                        
</script>

当控制器没有发送treedata时,如何将其留空?

这里有多个选项。我的首选立场通常是设计代码,这样就不会有未定义的变量。在缺少该代码结构的情况下,您可以确保它已设置为:

$treedata = isset( $treedata ) ? $treedata : "";

或者,您可以考虑完全禁用通知警告。如何做到这一点取决于具体情况,但您可以尝试以下方法:

ini_set('error_reporting', E_ALL & ~E_NOTICE);
此外,当
$treenode
为空时,是否也存在Javascript错误?我相信当
$treenode
为空时,您的Javascript行将变成:

var treedata = ;
这是一个错误。建议您改为使用PHP包装引号:

var treedata = <?php (($treedata=="" ? '""':$treedata)); ?>;

var treedata=这里有多个选项。我的首选立场通常是设计代码,这样就不会有未定义的变量。在缺少该代码结构的情况下,您可以确保它已设置为:

$treedata = isset( $treedata ) ? $treedata : "";

或者,您可以考虑完全禁用通知警告。如何做到这一点取决于具体情况,但您可以尝试以下方法:

ini_set('error_reporting', E_ALL & ~E_NOTICE);
此外,当
$treenode
为空时,是否也存在Javascript错误?我相信当
$treenode
为空时,您的Javascript行将变成:

var treedata = ;
这是一个错误。建议您改为使用PHP包装引号:

var treedata = <?php (($treedata=="" ? '""':$treedata)); ?>;
var treedata=您应该使用isset()函数检查变量是否存在。
因此,您应该替换:

$treedata==""

isset()-确定变量是否已设置且不为空

应使用isset()函数检查变量是否存在。 因此,您应该替换:

$treedata==""


isset()-确定变量是否已设置且不为空

您可以使用此方法

var treedata = <?php echo isset($treedata) ? '"'.$treedata.'"' : "''" ; ?>;

var treedata=您可以使用这种方法

var treedata = <?php echo isset($treedata) ? '"'.$treedata.'"' : "''" ; ?>;

var-treedata=是否使用框架?是的,使用codeigniter.use-isset()函数如果使用框架?是的,使用codeigniter.use-isset()函数但现在我收到了以下错误消息:TypeError:$(…)。treeview不是一个函数当var-treedata为空时是否遇到错误?如果是这样,您应该将带有var treedata的If-else语句添加到其条件中。可能是它导致了这个错误。但是现在我收到了这个错误消息:TypeError:$(…)。treeview不是一个函数。当var treedata为空时,您是否遇到了这个错误?如果是这样,您应该将带有var treedata的If-else语句添加到其条件中。也许这就是导致错误的原因。