yii2_方便地返回Json

來源:互聯網
上載者:User

標籤:list   response   nbsp   class   返回   組件   data   orm   響應代碼   

{    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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.