在搞小程序上拉加载时,数据获取完毕后,列表还一直加载,未显示已经加载完毕。调试的时候发现,当数据获取完毕后,再次加载,后台返回的数据是null,而对加载数据的判定条件是res.data.length == 0。所以报错。
解决办法:
在后台现定义一个空数组,然后将数据往数组里面填充。每次加载都重新填充。当数据没有的时候,自然就返回为一个空数组,而不是null。前端也就可以对返回的数据长度进行判断。
$sql = select * from table where 1=1;
$data = array();
$i = 0;
$dsql->Execute('fb', $sql." LIMIT 0, 9 ");
while($fields = $dsql->GetArray('fb')) {
$data[$i]['curl'] = iconv('GBK','UTF-8',$curl) ;
$data[$i]['face'] = iconv('GBK','UTF-8',$fields['face']);
$data[$i]['name'] = iconv('GBK','UTF-8',$fields['name']);
$data[$i]['area'] = iconv('GBK','UTF-8',$fields['ads']);
$data[$i]['time'] = iconv('GBK','UTF-8',MyDate("Y-m-d H:i", $fields['time']));
$i++;
}
$res['dates']=$data;
$json_res = json_encode($fres);
return $json_res;