2012-07-06 43 views
0

當我使用jquery $.post()serialize()函數時,如何獲得symfony2控制器中的後置參數?

比方說,我有一個這樣的形式:

<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 ...?

感謝

在jQuery的POST方法的參數PARAMS

回答

0

,不要使用{A:R},但只有{R}

$.post(url, { 
     r, 
     }, function(result){ 
     alert(resul); 
    }, "text");  

然後在控制器

$form_value = $request->get("form"); 
$raison = $form_value['raison']; 
$annonce = $form_value['annonce']; 
0

試這個

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

這$ FORMDATA包含所有提交的表單字段的值是

0
$.post(url, { 
     r, 
     }, function(result){ 
     alert(resul); 
    }, "text"); 

變化

$.post(url, { 
     r, 
     }, function(result){ 
     alert(result); 
    }, "text");