2013-12-02 4 views
1

Моего простой контроллер:искаженного кусок в ответ

class GeofencesController extends Controller 
{ 
public function indexAction() 

{ 
    $json = '[ 
    { 
     "id": 123, 
     "name": "muh", 
     "latitude": 32.121456, 
     "longitude": -19.238573, 
     "radius": 500 
    }, 
    { 
     "id": 532, 
     "name": "blah", 
     "latitude": 32.121456, 
     "longitude": -19.238573, 
     "radius": 100 
    }, 
    { 
     "id": 720, 
     "name": "bleh", 
     "latitude": 32.121456, 
     "longitude": -19.238573, 
     "radius": 200 
    } 
] 
'; 

$json = json_decode($json, true); 
$response = new Response(); 
$response->setContent(json_encode($json)); 
$response->headers->set('Content-Type', 'application/json'); 
return $response; 
} 

дает мне искаженный блочный ответ. Например, в Java:

org.apache.http.MalformedChunkCodingException: Chunked stream ended unexpectedly 

Chrome отказывается показать ответ, в Firefox я могу увидеть ответ и Fiddler2 обнаруживает есть Пороки с ответом.

EDIT:

Также пробовал:

class GeofencesController extends Controller 
{ 
    public function indexAction() 
    { 
    $json = '[{"id": 123,"name": "bleh","latitude": 32.121456,"longitude": -19.238573,"radius": 500}]'; 
    $json = json_decode($json, true); 
    $response = new JsonResponse($json); 
    return $response; 
    } 

и до сих пор такая же проблема. Возможно ли, что это связано с Apache? Или Symfony2 config?

ответ

1

Пробуйте использовать JsonResponse объект. Я знаю, что он должен быть таким же », но я видел некоторую разницу в Firefox ...

+0

Просто попытался сделать это, тем не менее, проблема. – GriffinHeart

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