首页 > Web开发 > 详细

yii2_方便地返回Json

时间:2017-01-30 10:33:50      阅读:310      评论:0      收藏:0      [点我收藏+]
{
    msg : ‘返回消息‘,
    status : 自定义响应代码,
    data : ‘‘,
}

 方法1

namespace app\lib;

class Response extends \yii\web\Response{
    public function alert($message, $code = 1, $data = null){
        $this->format = self::FORMAT_JSON;
        $this->data = [
            ‘message‘ => $message,
            ‘code‘ => $code,
            ‘data‘ => $data
        ]
        return $this;
    }
}


//修改response组件的配置后,就可以这样调用了嘛
return Yii::$app->response->alert(‘余额不足‘);

 方法2

‘response‘ => [
    ‘on beforeSend‘ => function($event){
        $response = $event->sender;
        if(
                $response->format != \yii\web\Response::FORMAT_JSON //没设定format为JSON
            &&    is_array($response->data) //数组
        ){
            $data = $response->data;
            $response->data = [
                ‘message‘ => $data[0],
                ‘code‘ => isset($data[1]) ? $data[1] : 0,
                ‘data‘ => isset($data[2]) ? $data[2] : ‘‘,
            ];
            $response->format = \yii\web\Response::FORMAT_JSON;
        }
    }
],

//于是action可以这样用:
return [‘余额不足‘];

return [‘操作成功!‘, 0];

return [‘搜索结果‘, 0, $dataList];

return $this->render(‘xxx‘); //此时返回的是string,beforeSend里有is_array的判断,所以不会影响模板的输出

 

yii2_方便地返回Json

原文:http://www.cnblogs.com/liadmin/p/6357874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!