当我使用jquery $.post()
和serialize()
函数时,如何在symfony2控制器中获取post参数?
假设我有一个这样的表格:
<form id="formSuppression" method="post" action="#" name="formSuppression">
<input id="form_raison_0" type="radio" value="0" required="required" name="form[raison]">
<input id="form_raison_1" type="radio" value="1" required="required" name="form[raison]">
<input id="form_raison_2" type="radio" value="2" required="required" name="form[raison]">
<input id="form_annonce" type="hidden" name="form[annonce]" value="113664890">
<input id="btnSupprimer" type="submit" style="float: right" value="Envoyer" name="btnSupprimer">
</form>
和jquery函数:
$("#formSuppression").submit(function(event) {
event.preventDefault();
var r = $(this).serialize();
var url = $(this).attr("action");
$.post(url, {
a:r,
}, function(result){
alert(resul);
}, "text");
});
控制器:
if ($request->isXmlHttpRequest()) {
$id = $request->request->get('a');
...
使用该控制器,我有form%5Braison%5D=2&form%5Bannonce%5D=113664890
变量<{1}}。$id
变量
但是我想要“=”符号后的值。如果不在控制器中使用任何其他PHP函数(如explode,substring ...),我该怎么做?
由于
答案 0 :(得分:0)
在jquery post方法的params参数中,不要使用{a:r}而只使用{r}
$.post(url, {
r,
}, function(result){
alert(resul);
}, "text");
然后在控制器中
$form_value = $request->get("form");
$raison = $form_value['raison'];
$annonce = $form_value['annonce'];
答案 1 :(得分:0)
试试这个
$ FormData = $$ request-&gt; request-&gt; get('form');
此$ formData包含所有提交的表单字段值
答案 2 :(得分:0)
$.post(url, {
r,
}, function(result){
alert(resul);
}, "text");
将其更改为
$.post(url, {
r,
}, function(result){
alert(result);
}, "text");