呜呜呜,很烦,让我自己完成一个在线学习系统后端,和前端整合一下,我把接口参数搞了半天(学习symfony太久远),记录一下屈辱历史,以后注意,不然上线了一堆bug,很烦
下面是几种返回的数据的格式
1.return new Response(
json_encode([
"msg" => "数据库存储失败..",
"code" => 0
])
);
可以看到,这种一般是提交action之类的,msg记录信息,code成功与否,没有具体数据,他的渲染数据一般是这样的:
<input type="hidden" value="{{ path('welcome_study_update') }}" id="post_updateMinutes"> 相当于跳转到指定路由,然后后台进行处理,返回json
2.return $this->render(
"@Welcome/study_and_test/studyIndex.html.twig",
array(
"studyPageTimes" => json_encode($pageTimesAr),
)
);
这种一般是返回数据的,一般是某个indexAction,indexTwig向该action发送请求,返回数据给前端进行渲染,前端一般是这样渲染的:
<input type="hidden" value="{{ studyPageTimes }}" id="minutes"> ,意思就是后端整合时候这样写,直接用twig语法渲染数据
3.return new Response("msg");
这种一般是action开头进行检测时,如果不是正确的用户类型或者没有在指定客户端打开时,返回提示信息
4.前端写地址的时候,记着使用{{ asset("url") }}
5.后端接受post数据,参看官网,原文如下
最后,连同请求本体(request body)一起被发送来的原始数据(raw data)可以通过getContent()
来访问到:
1 |
$content = $request->getContent();
|
例如,这在处理一个“由[使用了HTTP POST方法的]远程服务发送到程序”的JSON字符串时非常有用。
具体使用:
$content = $request->getContent(); //获取到json数据
$id = $content['param_name'] //获取到post参数,get也可以这样获取,不过一般直接$request->get("param_name")