从axios POST访问Laravel控制器中的JSON数据

时间:2019-09-28 11:34:24

标签: php laravel axios

我正在从我的React组件执行以下POST请求:

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)
});

它将发布到我想访问titledescriptionhunterencryption的Laravel控制器上。

我尝试了一些选项,例如request('title')request()->post()$request->getContent(),但是无法访问我想要的内容。有人可以指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

您必须解码字符串对象

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

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

希望这会有所帮助。

答案 1 :(得分:0)

使用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
    })
)