Symfony2 доступ POST (JSON) - PullRequest
       0

Symfony2 доступ POST (JSON)

0 голосов
/ 18 марта 2012

У меня есть форма, которую jQuery отправляет мне, используя Ajax для php.

Для этой задачи я использую следующий код:

        $('form').submit(function(event){
        event.preventDefault();
        var form = { message: $('form').serialize() };
        console.log(form);
        $.post('{{ path('PUSChatBundle_add') }}', form, 'json');

Вот что Firebug видит в запросе:

Parametersapplication/x-www-form-urlencoded
message message=Hi+stackoverflowers
Source
message=message%3DHi%2Bstackoverflowers

Итак, теперь Symfony:

public function addAction(Request $request)
{
    $data = json_decode($request->getContent());

    $message = new Message();
    $message->setText($data);

    $em = $this->getDoctrine()->getEntityManager();
    $em->persist($message);
    $em->flush();

    return new Response('Success');
}

Почему-то PHP не удается декодировать json в PHP-массив.

С уважением, Б.Кайсер

Ответы [ 2 ]

3 голосов
/ 18 марта 2012

Попробуйте $request->getParameter('message');.

0 голосов
/ 18 марта 2012

Я нашел источник всего зла:

Я отправил JSON бросил php JSON-валидатор, и я стал синтаксической ошибкой.

Странно, потому что jQuery визуализировал json var form = $ ('form'). serializeArray ();

Мне осталось только выяснить, что в деталях идет не так

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...