当我尝试解码然后从ajax返回post数组时,我在symfony中遇到同样的错误。
错误:
Response内容必须是实现__toString(),“object”的字符串或对象。
500内部服务器错误 - UnexpectedValueException
PHP
public function ajaxAction(){
$array = $_POST['json'];
$arraydecode = json_decode($array);
return new Response($arraydecode);
}
有什么想法吗?
答案 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;