2014-02-28 2 views
1

디코드하려고 할 때 symfony에서 동일한 오류가 계속 발생하고 아약스의 게시물 배열을 반환합니다.Symfony 2 toString 500 내부

오류 :

응답 내용이 문자열 일 또는() __toString를 구현하는 객체를해야한다 "객체"주어진.

500 내부 서버 오류 - UnexpectedValueException

PHP

public function ajaxAction(){ 

    $array = $_POST['json']; 

    $arraydecode = json_decode($array); 

    return new Response($arraydecode); 

} 

어떤 아이디어?

답변

3

유효한 json 문자열이있는 배열을 먼저 인코딩해야합니다. 그런 다음 JSON 컨텐츠 유형으로 문자열을 리턴하십시오.

$array = $_POST['json']; 
$arraydecode = json_encode($array); 

$response = new Response($arraycode); 
$response->headers->set('Content-Type', 'application/json'); 

return $response; 
+0

나는 가능하면 배열로 반환하는 것이 었습니다. – Brent

+1

@BrentFrench JSON 개체로 JSON 개체로 반환 한 다음 JS 코드에서 JSON.parse()를 사용하여 배열을 가져 오는 것이 좋습니다. –

+0

배열을 반환 할 수 없습니다. 배열은 지원되지 않습니다. 문제는 배열을 어떻게 해결할 것인가입니다. 그 때문에 JSON 형식입니다. 자바 스크립트와 같은 다른 언어에서 사용할 수있는 정의 된 형식이 있다는 것입니다. – Stony