0

$.post()jqueryと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変数の$id場合

しかし、「=」記号の後の値が必要です。コントローラーでexplode、substringなどの他のPHP関数を使用せずにそれを行うにはどうすればよいですか?

ありがとう

4

3 に答える 3

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 に答える
0

これを試して

$FormData = $$request->request->get('フォーム');

この $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 に答える