我是一个Laravel新手,我正在转换一个php/jQuery应用程序到Laravel。原始代码使用带有ajax POST的JSON数组,检索如下:
$json = file_get_contents('php://input');
$data = json_decode($json,true);
我在POST方面也做了很多相同的事情,但我在我的Laravel$请求收集中没有看到任何数据。我是否需要做一些特殊的事情来检索如下结构的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);
}
});
这是我的控制器中接收POST的代码
public function store(Request $request)
{
dd($request->all());
}
但我得到的只有:
[]
有什么想法我可以撤回我的数据吗?
只需提及jQuery v3.2.1和Laravel 5.6。
案例1:JS对象直接发布,比如:
$.post("url", {name:'John'}, function( data ) {
});
对应的Laravel PHP代码应该是:
parse_str($request->getContent(),$data); //JSON will be parsed to object $data
案例2:发布的JSON字符串,如:
$.post("url", JSON.stringify({name:'John'}), function( data ) {
});
对应的Laravel PHP代码应该是:
$data = json_decode($request->getContent(), true);
$postbody='';
// Check for presence of a body in the request
if (count($request->json()->all())) {
$postbody = $request->json()->all();
}
这就是现在在laravel 5.2中的实现方式。
你需要把你的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
选项。
要从控制器检索JSON负载,请使用:
dd(json_decode($request->getContent(), true));
而不是
dd($request->all());
问题内容: 我有这个数组: 并且我正在寻找一个PHP“ for each”循环,该循环将检索下的键名,即: 我怎样才能做到这一点? 问题答案: 试试吧 在$ key中,您将获得密钥名称,在val中,您将获得值
问题内容: 我有以下表格及其关系。我将JSON数据存储在client_services表中。它们是使用MySQL查询来检索JSON值的任何方式,如下所示: 还是可以进一步规范化client_services表? 表: 表: 表: 表: 问题答案: 由于很多人都亲自问过我这个问题,所以我想我会再作一次修改。这是一个具有SELECT,Migration和View Creation的完整SQL的要点,
我有一个用Java编写的管理应用程序,可以管理我的用户 我创建了一个自定义json 这就是我的JSON看起来的样子 在我的列表中,我只显示电子邮件地址 现在我的问题,例如,如果我单击包含电子邮件的列表,我想在对话框中显示与此电子邮件相关的数据,即、和 怎样我可以检索其他值吗使用电子邮件? 我在网上找不到任何关于它的信息
我是JSON的新手。我想使用JSON检索两个地方之间的距离。我想从位于“legs”数组中的“Distance”对象获取“text”(距离b/w两个地方),而“legs”数组又位于“routes”数组中。链接(http://maps.googleapis.com/maps/api/directions/json?origin=adoor&destination=thiruvananthapuram%
问题内容: 我的手机APP以文本模式完美下载内容。下面是执行此操作的代码。我将其称为Communicator类和exectueHttpGet: 我要讲的是(URL的源代码): 该响应是一个字符串。在服务器上,它作为JSON对象输出(与PHP一起),现在在我的Android PHP中,我想将此字符串转换为JSON。这可能吗? 问题答案: 您收到的是从附加到a 并最终转换为的一系列字符-因此,结果是可
问题内容: 我在从Java servlet内的JavaScript检索以JSON形式发送的数据时遇到查询。以下是我在做什么… 这是JavaScript内向Servlet发出请求的代码的一部分 在发出此请求时,我尝试检索从Servlet中的JavaScript发送的参数,但这样做时,我首先对如何从请求中检索数据感到困惑 我在servlet中使用了以下内容: 注意: 我的Servlet中的内容类型设置