新的(Json)响应显示空白页(Symfony HttpFoundation)
new (Json)Response shows blank page (Symfony HttpFoundation)
我在我的小项目中使用 HttpFoundation:use \Symfony\Component\HttpFoundation\JsonResponse as JsonResponse;
不幸的是,我所有的回复(尝试了 JsonResponse
、Response
和 BinaryFileResponse
)只有 return 一个空白页面,没有错误并且代码可以正常执行,例如
/* Get Inputs */
if (!$data = filter_input(INPUT_GET, 'url', FILTER_VALIDATE_URL)) {
return new JsonResponse(array(
'result' => 'error',
'message' => 'URL is invalid or missing'
));
}else{
return new JsonResponse(array(
'result' => 'success',
'message' => 'FINE'
));
日志中也没有错误。
有什么解决问题的想法吗?
//澄清更新
$json = new JsonResponse(array(
'result' => 'error',
'message' => 'Encrypt is invalid or missing'
));
echo $json;
returns HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: application/json {"result":"error","message":"Encrypt is invalid or missing"}
但是为什么 return
不起作用?
您没有使用完整的堆栈框架,因此您需要确保您的前端控制器或等效调用 $response->send();
到 deliver the response 给客户端。
它是 的补充:
$response = new JsonResponse(array(
'result' => 'error',
'message' => 'Encrypt is invalid or missing'
));
$response->send();
我在我的小项目中使用 HttpFoundation:use \Symfony\Component\HttpFoundation\JsonResponse as JsonResponse;
不幸的是,我所有的回复(尝试了 JsonResponse
、Response
和 BinaryFileResponse
)只有 return 一个空白页面,没有错误并且代码可以正常执行,例如
/* Get Inputs */
if (!$data = filter_input(INPUT_GET, 'url', FILTER_VALIDATE_URL)) {
return new JsonResponse(array(
'result' => 'error',
'message' => 'URL is invalid or missing'
));
}else{
return new JsonResponse(array(
'result' => 'success',
'message' => 'FINE'
));
日志中也没有错误。
有什么解决问题的想法吗?
//澄清更新
$json = new JsonResponse(array(
'result' => 'error',
'message' => 'Encrypt is invalid or missing'
));
echo $json;
returns HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: application/json {"result":"error","message":"Encrypt is invalid or missing"}
但是为什么 return
不起作用?
您没有使用完整的堆栈框架,因此您需要确保您的前端控制器或等效调用 $response->send();
到 deliver the response 给客户端。
它是
$response = new JsonResponse(array(
'result' => 'error',
'message' => 'Encrypt is invalid or missing'
));
$response->send();