Symfony 2 toString 500 Internal

时间:2014-02-28 10:00:06

标签: php symfony

当我尝试解码然后从ajax返回post数组时,我在symfony中遇到同样的错误。

错误:

Response内容必须是实现__toString(),“object”的字符串或对象。

500内部服务器错误 - UnexpectedValueException

PHP

public function ajaxAction(){

    $array = $_POST['json'];

    $arraydecode = json_decode($array);

    return new Response($arraydecode);

}

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

您可以使用JsonResponse:http://symfony.com/doc/2.3/components/http_foundation/introduction.html#creating-a-json-response

use Symfony\Component\HttpFoundation\JsonResponse;
//some code
return new JsonResponse($array);

答案 1 :(得分:3)

首先必须对数组进行编码,使其具有有效的json字符串。然后返回带有json内容类型的字符串。

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

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

return $response;