无法获取 POST 数据,因为它始终为空
Can't get POST data because it's always null
当我尝试在 Symfony 2.8 中获取 POST 数据时,我一直在获取 null
。我正在使用 Angular 服务来拨打这样的电话:
this.http.post(`****/app/relation/saveEmployeeWorkHours`, JSON.stringify({workHours}));
正如您在下面看到的,我发送的数据的有效负载是可见的:
在我的路线中我有这个:
app_addEmployeeDays:
path: /app/relation/saveEmployeeWorkHours.{_format}
defaults: { _controller: CompoRelationBundle:Api\Relation:saveEmployeeWorkHours, _format: 'json' }
requirements:
_method : POST
在 $request 的操作中,我得到了 POST
的 null
但我确实得到了我在 URL 中发送的 get 参数(用于调试目的):
public function saveEmployeeWorkHoursAction(Request $request){
$response = $request->request->all(); // Gives array(0)
$response = json_encode($response);
$response = new Response($response);
return $response; // Returns []
}
您在请求正文中发送您的 data/payload,而不是作为单独的参数。
您需要访问。 request->all()
检索查询和 post 参数,而不是正文。
您需要做的:
$body = $request->getContent();
$response = json_encode($body);
// etc
当我尝试在 Symfony 2.8 中获取 POST 数据时,我一直在获取 null
。我正在使用 Angular 服务来拨打这样的电话:
this.http.post(`****/app/relation/saveEmployeeWorkHours`, JSON.stringify({workHours}));
正如您在下面看到的,我发送的数据的有效负载是可见的:
在我的路线中我有这个:
app_addEmployeeDays:
path: /app/relation/saveEmployeeWorkHours.{_format}
defaults: { _controller: CompoRelationBundle:Api\Relation:saveEmployeeWorkHours, _format: 'json' }
requirements:
_method : POST
在 $request 的操作中,我得到了 POST
的 null
但我确实得到了我在 URL 中发送的 get 参数(用于调试目的):
public function saveEmployeeWorkHoursAction(Request $request){
$response = $request->request->all(); // Gives array(0)
$response = json_encode($response);
$response = new Response($response);
return $response; // Returns []
}
您在请求正文中发送您的 data/payload,而不是作为单独的参数。
您需要访问。 request->all()
检索查询和 post 参数,而不是正文。
您需要做的:
$body = $request->getContent();
$response = json_encode($body);
// etc