你好,我将数组json从ajax发送到symfony 3中的控制器,现在我想为这个数组循环这是我的功能,但是在我的控制器中遇到了这个问题
通知:未定义的属性:Symfony \ Component \ HttpFoundation \ ResponseHeaderBag :: $ startDate
$('.btnEnregistrerAnnonce').click(function (){
alert("hellobtn");
$.ajax({
url:'{{ (path('deleteventdate')) }}',
type: "get",
dataType: "json",
data: {
arrayDeleted: arrayDeleted
},
async: true,
success: function (data)
{
console.log("wwwwwwwwwwwwwwwwwwwwwwww");
console.log(data);
//$('.formAdd').submit();
}
});
});
在数据数组中删除了我的数组 这个我的控制器
public function deleteArray(Request $request)
{
$test = $request->get('arrayDeleted');
$array = new JsonResponse($test);
foreach ($array as $arr)
{
echo $arr->startDate ;
}
}
这是arrayDeleted在控制台中的结果
{startDate: "2018-10-25", endDate: "2018-10-28", idAd: 3}
感谢您的帮助
答案 0 :(得分:0)
您试图以错误的方式获取发布的数据。另外,JsonResponse
类用于返回响应,而不是解码json数据。
public function deleteArray(Request $request)
{
$content = $request->getContent();
$data = json_decode($content, true); // 2nd parameter to get data as array
$arrayDeleted = $data['arrayDeleted'];
dump($arrayDeleted ['startDate']); // do something with $arrayDeleted ['startDate']
// return a response
}
答案 1 :(得分:-2)
我使用json_encode
而不是json_decode
解决了我的问题