如何在控制器symfony3中循环获取数组json

时间:2018-10-10 19:58:13

标签: arrays json ajax symfony loops

你好,我将数组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}

感谢您的帮助

2 个答案:

答案 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解决了我的问题