Доступ к данным JSON в контроллере Laravel из Axios POST - PullRequest
0 голосов
/ 28 сентября 2019

Я выполняю следующий запрос POST от моего компонента React:

axios({
    method: 'post',
    url: '/build',
    data: JSON.stringify({
        title: stateCopy.title,
        description: stateCopy.value,
        hunter: stateCopy.selectedHunter.id,
        encryption: stateCopy.encryption
    })
})
.then(response => {
    console.log(response)
})
.catch(errors => {
    console.log("error: " + errors)
});

, который отправляет сообщения на мой контроллер Laravel, где я хотел бы получить доступ к title, description, hunter и encryption.

Я попробовал несколько вариантов, таких как request('title'), request()->post() и $request->getContent(), но не смог получить доступ к тому, что я хочу.Может ли кто-нибудь указать мне правильное направление?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Используйте метод запроса Laravel "getContent" для получения переданных данных.

$content = json_decode($request->getContent());

Если вы хотите отправить проанализированный JSON как объект.Использование,

data: JSON.parse(
    JSON.stringify({
        title: stateCopy.title,
        description: stateCopy.value,
        hunter: stateCopy.selectedHunter.id,
        encryption: stateCopy.encryption
    })
)
0 голосов
/ 28 сентября 2019

Вы должны декодировать строковый объект

$data = json_decode($request->getContent());

$title       = $data->title;
$description = $data->description;
$hunter      = $data->hunter;
$encryption  = $data->encryption;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...