2015-01-29 3 views
2

я представить свою форму с помощью AJAX, вот что я получаю в контроллере:json_decode на сериализованной форме Symfony2

$request->getContent() 

возвратного

string 'comment[header]=vcvdfgdfg&comment[body]=dfgfdgdf&comment[_token]=nV0QYu82KWFb-wRIlIoY4MKM6-WUfeFoMidjBHfpupA' (length=120) 

при попытке

json_decode($request->getContent(), true) // it equal to null 

Что я делать wron?

+2

Это не является строкой JSON. Поэтому вы не можете его расшифровать. попробуйте использовать http://jsonlint.com/, чтобы проверить, действительно ли ваш json. –

+2

Вы можете получить доступ к своим параметрам через $ this-> get ('request') -> request (для POST) или $ this-> get ('request') -> query (для GET) – Matheno

+0

@ User8889, nice catch, thanks ! :) – nowiko

ответ

0

Это не строка json. Если вы хотите проанализировать эту строку и получить массив, вы должны использовать функцию parse_str, и вам нужно установить второй параметр, чтобы данные помещались в массив, а не в отдельные переменные.

$get_string = "pg_id=2&parent_id=2&document&video";  
parse_str($get_string, $get_array); 
print_r($get_array); 

Или, если вы используете Symfony2 вы можете получить доступ к ним так:

// $_GET parameters 
$request->query->get('name'); 

// $_POST parameters 
$request->request->get('name'); 
+1

Спасибо за копирование обоих комментариев. –

+0

вы не даете никакого решения, просто указывая на то, что очевидно ... – acontell

+0

Вы можете получить доступ к своим параметрам через $ this-> get ('request') -> request (для POST) или $ this-> get (' request ') -> query (для GET) Похоже, это точно так же, как ваш ответ –

Смежные вопросы