PHP7中文手册2018 带注释 最新chm版
3.2RC1的ajaxReturn较之3.1.X的数据结构,有了很大的改变,只返回一个$data。
但haran认为之前的结构更为方便,请刘先生考虑。
简单改变如下:
但haran认为之前的结构更为方便,请刘先生考虑。
简单改变如下:
/**
* Ajax方式返回数据到客户端
* @access protected
* @param mixed $data 要返回的数据
* @param String $message 要返回的信息 //增加
* @param Int $status 要返回的状态 //增加
* @param String $type AJAX返回数据格式
* @return void
*/
protected function ajaxReturn($result,$message='',$status=0,$type='') {
if(empty($type)) $type = C('DEFAULT_AJAX_RETURN');
$data['data'] = $result; //将数据作为data
$data['info'] = $message; //将$message作为info
$data['status'] = $status; //将$status作为status
switch (strtoupper($type)){
case 'JSON' :
// 返回JSON数据格式到客户端 包含状态信息
header('Content-Type:application/json; charset=utf-8');
exit(json_encode($data));
case 'XML' :
// 返回xml格式数据
header('Content-Type:text/xml; charset=utf-8');
exit(xml_encode($data));
case 'JSONP':
// 返回JSON数据格式到客户端 包含状态信息
header('Content-Type:application/json; charset=utf-8');
$handler = isset($_GET[C('VAR_JSONP_HANDLER')]) ? $_GET[C('VAR_JSONP_HANDLER')] : C('DEFAULT_JSONP_HANDLER');
exit($handler.'('.json_encode($data).');');
case 'EVAL' :
// 返回可执行的js脚本
header('Content-Type:text/html; charset=utf-8');
exit($data);
default :
// 用于扩展其他返回格式数据
Hook::listen('ajax_return',$data);
}
}
转载请注明:谷谷点程序 » thinkphp 3.2的ajaxReturn