2012-07-18 3 views
1

Это мой первый день, чтобы повеселиться с Symfony и drupal 8, поэтому, пожалуйста, извините меня, если мой вопрос очень очевиден.Почему этот выход json Symfony выводит заголовки

С Друпала 7:

drupal_json_output(array('products' => array_values($products))); 
exit; 

выход JSON чист:

{"products":["item_1","item_2",....]} 

С Друпала 8:

use Symfony\Component\HttpFoundation\JsonResponse; 
// some process 
print new JsonResponse(array('products' => array_values($products))); 
exit; 

Он выводит с заголовками:

HTTP/1.0 200 OK 
Cache-Control: no-cache 
Content-Type: application/json 
Date:   Wed, 18 Jul 2012 07:53:26 GMT 

{"products":["item_1","item_2",....]} 

Как вы избавляетесь от этих заголовков?

Я застрял, чтобы прочитать ссылку here.

Любые подсказки очень ценятся.

+0

печать новый JsonResp ... для отладки. Используйте метод 'send()' для отправки вывода – Federkun

+0

Большое спасибо. Мне нужно будет прочитать более полные документы. Cross ref: http://stackoverflow.com/questions/8623962/looking-for-symfony2-book?rq=1 – swan

+0

@swan Вы можете отредактировать мой ответ, чтобы улучшить его и написать о 'send()' – AdrienBrault

ответ

2

Вы можете получить только «контент» ответа, позвонив по номеру $response->getContent().

В вашем случае вы можете сделать

use Symfony\Component\HttpFoundation\JsonResponse; 
// some process 
$response = new JsonResponse(array('products' => array_values($products))); 
print $response->getContent(); 
exit; 

Однако следует помнить, что это будет плохой практикой, потому что вы потеряете заголовки ответа в процессе, и не сказал бы, например, что такое содержание Тип вашего ответа (в данном случае: «application/json») и т. д. ...

Я не знаю, как это сделать правильно с drupal, любые советы приветствуются.

+0

Спасибо большое. Это работает так, как ожидалось. – swan

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