我有一个脚本,主要检查查询是否有结果:
$.post('<?php echo site_url('xxx/yyy'); ?>',{data:no},function(result){
if(!result){
alert("No Data");
}
else{
alert("Data retrieved");
}
});
为什么当我得到空 JSON 数组时,我的 IF
会提醒 数据已检索
。我尝试使用不同的数据(结果为空且结果为 true 的数据)执行 alert(result)
,但是这两个数据都在警告 Data returned
。
这是我的模型:
$this->db->select('*',FALSE);
$this->db->from('t_penomoran tp');
$this->db->join('t_penomoran_detail t_pd', 'tp.nomor = t_pd.nomor');
$this->db->where('tp.nomor',$nomor);
$query = $this->db->get();
return $query->result_array();
注意:
由于某种原因,当我对没有值的数据执行 alert(result.length)
时,结果是 2
。但是,当我对没有值的数据执行 alert(result)
时,结果是 []
最佳答案
空数组是一个 truthy
值,这意味着在您的 if
语句中,它将计算为 true
,这就是为什么您会看到 警报()
。要修复此问题,请使用 length
属性:
if(!result.length) alert('no data')
关于javascript - 为什么我的脚本忽略空数组结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46902415/