我創建了一個帶有動作的簡單休息控制器,并嘗試通過 restclient mozilla 擴展發送發布數據。有一個問題,yii2 沒有看到所有的post 字段并且$_POST 是[]。請求方法是 POST,我肯定會發送數據。class ApiController extends Controller{ public function beforeAction($action) { $this->enableCsrfValidation = false; Yii::$app->response->format = Response::FORMAT_JSON; return parent::beforeAction($action); } public function actionAuth() { Yii::$app->response->format = Response::FORMAT_JSON; if(Yii::$app->request->isPost) { $username = Yii::$app->request->post('username'); $password = Yii::$app->request->post('password'); $user = Players::find() ->where(['username' => $username]) ->orWhere(['email' => $username]) ->one(); if($user->validatePassword($password)) { $user->generateApiToken(); $user->save(); return ['status' => 'ok', 'message' => Yii::t('api', 'You are logged in successfully!'), 'data' => $user]; } else { return ['status' => 'error', 'message' => Yii::t('api', 'Username or password is wrong.'), 'post' => $_POST]; } } else return ['status' => 'error']; }}
2 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
你沒有錯過'post' => $_POST
你的 if 的 ( ) 論點嗎?
嘗試這個:
return ['status' => 'ok', 'message' => Yii::t('api', 'You are logged in successfully!'), 'data' => $user, 'post' => $_POST];
- 2 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消