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()) {
...
}
}