gpt4 book ai didi

laravel-5 - 拉拉维尔 5 : Retrieve JSON array from $request

转载 作者:行者123 更新时间:2023-12-02 22:02:07 25 4
gpt4 key购买 nike

我是 Laravel 新手,我正在将 php/jquery 应用程序转换为 Laravel。原始代码使用带有 ajax POST 的 JSON 数组,检索方式如下:

$json = file_get_contents('php://input');
$data = json_decode($json,true);

我在 POST 方面做了同样的事情,但我在 Laravel $request 集合中没有看到任何数据。我需要做一些特殊的事情来检索结构如下的 JSON 数据:

[
{ "name": "John", "location": "Boston" },
{ "name": "Dave", "location": "Lancaster" }
]

这是我的 jQuery ajax POST 代码(带有硬编码数据)

$.ajax({
type: "POST",
url: "/people",
data: '[{ "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" }]',
dataType: "json",
success:function(data) {
$('#save_message').html(data.message);
}
});

这是我的 Controller 中接收 POST 的代码

public function store(Request $request)
{
dd($request->all());
}

但我得到的是:

[]

关于如何检索我的数据有什么想法吗?

最佳答案

您需要将 Ajax 调用更改为

$.ajax({
type: "POST",
url: "/people",
data: '[{ "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" }]',
contentType: "json",
processData: false,
success:function(data) {
$('#save_message').html(data.message);
}
});

dataType 更改为 contentType 并添加 processData 选项。

要从 Controller 检索 JSON 负载,请使用:

dd(json_decode($request->getContent(), true));

而不是

dd($request->all());

关于laravel-5 - 拉拉维尔 5 : Retrieve JSON array from $request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com