我試圖更新兩個字段,但由於某種原因更新不起作用。 這是方法:Yii2 - 更新不起作用
public function actionChangepassword()
{
$model = $this->findModel(Yii::$app->user->identity->id);
$model->scenario = 'changepassword';
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())):
Yii::$app->response->format = Response::FORMAT_JSON;
if(ActiveForm::validate($model))
return ActiveForm::validate($model);
$model->salt = Yii::$app->security->generateRandomString(32);
$model->password = Yii::$app->security->generatePasswordHash($model->salt . $model->password_new);
$model->update();
return 'true';
endif;
return $this->renderAjax('changePassword',
[ 'model' => $model]
);
}
和JS功能:
$('body').on('beforeSubmit', '#changePassword', function(event, jqXHR, settings) {
var form = $(this);
if(form.find('.has-error').length) {
return false;
}
$.ajax({
url: form.attr('action'),
type: 'post',
data: form.serialize(),
success: function(data) {
// do something ...
}
});
return false;
});
我得到真正的結果,這意味着該函數它的自我是工作,但密碼和鹽不更新(我試過$ model-> save(),但結果是一樣的)。我究竟做錯了什麼?
你有一個語法錯誤「真」使用布爾 –