我有一个脚本,基本上可以检查查询是否有结果:
$.post('<?php echo site_url('xxx/yyy'); ?>',{data:no},function(result){
if(!result){
alert("No Data");
}
else{
alert("Data retrieved");
}
});
为什么当我得到空的JSON数组时,我的
IF
警报Data retrieved
。我尝试对不同的数据执行alert(result)
(结果为空且结果为true的数据),但是两个数据都在警告Data retrieved
。这是我的模型:
$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
,这就是为什么您看到alert()
的原因。要解决此问题,请使用length
属性:
if(!result.length) alert('no data')
关于javascript - 为什么我的脚本忽略空数组结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46902415/