Не удалось обновить модель при попытке отправить необработанные данные JSON в Yii (PHP)Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось обновить модель при попытке отправить необработанные данные JSON в Yii (PHP)

Сообщение Anonymous »

Я пытался отправить запрос с помощью Postman на обновление поля в моей базе данных. Однако я продолжал сталкиваться со следующей ошибкой:

{ "status": "error", "message": "Неверный метод запроса или неверный
представление данных». }.

Во-первых, я проверил настройки Postman, чтобы убедиться, что для заголовка Content-Type установлено значение application/json. Я также проверил, что тип моего запроса — Post, и что я отправляю данные RAW JSON.
Во-вторых, я изменил свою функцию на чтение необработанных данных. Данные JSON, используя следующий код:

Код: Выделить всё

$data = \Yii::$app->request->getBodyParams();
Но это не сработало, и я продолжал совершать ту же ошибку. Я пробовал ОТЛАДКУ, добавляя код типа

Код: Выделить всё

\Yii::debug($model->getDirtyAttributes(), 'dirtyAttributes');
\Yii::debug($model->attributes, 'attributesAfterLoad');
Это тоже не помогло, поскольку при отправке необработанных данных JSON глобальный массив $_POST остается пустым. Я также получил следующее сообщение в терминале:

[Пн, 30 сентября 12:52:26 2024] [::1]:52291 Закрыто без отправки сообщения
запрос;Вероятно, это было просто неиспользованное спекулятивное предварительное соединение.

Вот мой метод:

Код: Выделить всё

public function actionUpdate($id)
{

$model = $this->findModel($id);

if (\Yii::$app->request->isPut) {
$data = \Yii::$app->request->getBodyParams();

if ($model->load($data, '') && $model->save()) {
return [
'status' => 'success',
'message' => 'Model updated successfully.',
'data' => $model,
];
} else {
return [
'status' => 'error',
'message' => 'Failed to update the model.',
'errors' => $model->errors,
];
}
}

return [
'status' => 'error',
'message' => 'Invalid request method or invalid data submission.',
];
}

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-yii-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»