我已经有了一个移动应用程序,可以从数据库中检索一些数据,通过执行数据库查询的php脚本向用户显示,并将带有结果的json返回给我的应用程序。
我还有一个桌面应用程序,它使用其他php脚本来检索同一数据库中的数据,下一步也是实现一个网站。
现在我认为为我的应用程序支持的每个操作创建一个脚本不是最佳实践,所以我决定使用Symfony框架来更好地组织我的服务器脚本。
现在我已经创建了一个新的PHP Symfony项目,在localhost上复制了我的数据库,为db操作生成了一个包,映射了sql表,生成了实体并为每个实体生成了一个crud控制器。
现在我不知道如何继续。
如何让我的项目只返回每个操作的json消息(而不是默认情况下会发生结果的html页面)?
答案 0 :(得分:2)
您必须在操作结束时返回json字符串!
e.g。
public function ajaxAction(Request $request){
//get some data from doctrine, do other stuff
//generate a json string from it and return it
$json = json_encode($data);
$response = new Response($json, 200);
$response->headers->set('Content-Type', 'application/json');
return $response;
}
现在你的行动路线只返回json字符串!