Kartik, редактируемый в Kartik DetailView, не удалось обновить данные

#json #yii2 #kartik-v

#json #yii2 #kartik-v

Вопрос:

Я пытаюсь обновить данные в Kartik-DetailView, используя Kartik-Editable в моем проекте Yii2.

Вот мой код в

view.php:

 <?php
echo DetailView::widget([
    'model' => $model,
    'mode' => DetailView::MODE_VIEW,
    'attributes' => [
     [
            'class' => kartikgridEditableColumn::class,
            'attribute' => 'busFleetStatus',
            'format' => 'raw',
            'value' => Editable::widget([
                'model' => $model,
                'attribute' => 'busFleetStatus',
                'asPopover' => true,
                'beforeInput' => function($form, $widget) {
                    echo $form->field($widget->model, 'busFleetStatus')->widget(kartikselect2Select2::classname(), [
                        'data' => ArrayHelper::map(SystemStatus::find()->where(['statusCode' => 'busFleetStatus'])->all(), 'systemStatusId', 'statusDetail'),
                    ])->label(false);
                },
                'displayValueConfig' => [
                    1 => 'Available',
                    2 => 'Maintenance',
                ],
                'format' => Editable::FORMAT_LINK,
                'inputType' => Editable::INPUT_SELECT2,
            ]),
        ],
        .... //another code
   ],
])
?>
  

и установите действие в контроллере следующим образом

BusFleetController.php:

 public function actionView($id) {
    if (Yii::$app->request->post('hasEditable')) {
        $_id = Yii::$app->request->post('editableKey');
        $model = BusFleet::findOne($_id);

        $out = Json::encode(['output'=>'', 'message'=>'']);

        $post = [];
        $posted = current($_POST['BusFleet']);
        $post['BusFleet'] = $posted;

        if ($model->load($post)) {
            if ($model->save()) {
                if (isset($posted['busFleetStatus'])) {
                    $output = $model->busFleetStatus;
                }
                $out = yiihelpersJson::encode(['output' => $output, 'message' => '']);
            }
        }
        return $out;
    }

    return $this->render('view', [
                'model' => $this->findModel($id),
    ]);
}
  

Но я получил ошибку json, я проверил через отладчик в браузере Mozilla, и на вкладке параметров я ничего не получил, я не получил данные JSON, например hasEditable editableIndex , и т. Д.

Я выполнил несколько тестов из другого выпуска или учебника, но у меня возникла та же проблема. Я просто следую тому, как это делает другое тело.

Изображение ошибки

введите описание изображения здесь

Обновить

В моем представлении используется метод GET в качестве запроса.

Комментарии:

1. когда вы получаете эту ошибку при открытии редактируемого всплывающего окна или изменении параметра выбора?

2. Я получил сообщение об ошибке при нажатии кнопки сохранить / отправить