symfony2 форма, как принять полезную нагрузку json от углового ресурса

В настоящее время я пытаюсь объединить форму Symfony с angularJS... Служба отправляет данные в форму, которая должна сохранить объект в базе данных. К несчастью, ngResource отправляет данные в виде полезной нагрузки JSON, так что Symfony Forms не может их обработать... Я пробовал много вещей на угловой стороне, например, изменение заголовков:

headers : {'Content-Type': 'application/x-www-form-urlencoded'}

Я не мог найти больше на угловой стороне, поэтому я думал, что смогу найти решение на стороне Symfony. Любая идея, как я мог заставить это работать? Angular-Solutions тоже приветствуются.

1 ответ

Решение

Я наконец-то нашел решение, прочитав более подробно документацию. Symfony\Component\Form\Form::bind не требует запроса, он также работает с массивом. так вот мое решение (небрежно, потребуется некоторая проверка заголовка и т. д. для производственного использования..)

public function setFooAction(Request $request){

  $form = $this->createForm();//get the form class, etc...
  $json_data = json_decode($request->getContent(),true);//get the response data as array
  $form->bind($json_data); //Bind data to Form

  if ($form->isValid()) {
    ...

  }

}
Другие вопросы по тегам