记得大概一个月前在写一个界面的时候就冒出过这个问题,即:在通过ajax与后台交互成功后,数据返回到error方法中,而不执行成功的回调函数。结果,很不辛,刚刚又冒出来了,然后我竟然忘记怎么解决了,所以又是查了很多资料,说什么接收数据的类型不对,或者是否开启异步,又或是个中配置不对。
但是自己按照这些方法修改后并不能解决问题,想了十几二十分钟,突然灵光一闪,想到好像后台那个被调用的方法在做 return json_encode($res);这个操作之前是不能有任何输出的,比如:echo,var_dump,print_r等等等
下面是我刚刚写的一个方法,注意第一行的 var_dump
public function delNotice(){
#var_dump($_POST);#错在开始为了查看传递过来的参数所以把post数组全部输出了,die,用#注释掉以后数据就返回到回调函数中去了;
$db = M("Notice");
$where['notice_no'] = $_POST['noticeno'];
$data['is_del'] = 1;
$res = $db->where($where)->save($data);
if($res){
$result['result'] = 'succ';
$result['msg'] = '信息已更新';
$result['return_time'] = date('Y-m-d H:i:s');
}else{
$result['result'] = 'err';
$result['msg'] = '添加失败,请重试';
$result['return_time'] = date('Y-m-d H:i:s');
}
return json_encode($result);
}