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语句添加到其条件中。也许这就是导致错误的原因。