0

$.post()当我使用 jquery和函数时,如何在我的 symfony2 控制器中获取 post 参数serialize()

假设我有这样的表格:

<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对于$id变量

但我想要“=”符号之后的值。如果不使用控制器中的任何其他 PHP 函数(如explode、substring...),我该如何做到这一点?

谢谢

4

3 回答 3

0

尝试这个

$FormData = $$request->request->get('form');

这个 $formData 包含您提交的所有表单字段值

于 2012-07-06T11:48:25.433 回答
0
$.post(url, {
        r, 
       }, function(result){
        alert(resul);
    }, "text"); 

将其更改为

$.post(url, {
        r, 
       }, function(result){
        alert(result);
    }, "text");  
于 2013-04-11T04:51:05.320 回答
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'];
于 2012-07-06T11:46:39.830 回答