2017-11-25 3 views
0

私はeisenhover行列を作成していますが、グリッド内のデータを更新するボタンが必要ですが、パラメータ/変数をajaxで渡す方法はわかりません。Symfony/PHP7、AJAXでパラメータを渡す

/** 
* @Route("/articles/list", name="articles_list") 
*/ 
public function showArticlesAction(bool $important = false, bool $urgent = false){ 
    $articles = $this->returnAllArticles(); 

    return $this->render(
     'articles/list.html.twig', 
     array('articles' => $articles, 
      'important' => $important, 
      'urgent' => $urgent) 
    ); 
} 

とスクリプト

function refreshFunctionName() 
    { 
     $.ajax({ 
      type: "POST", 
      url: "{{ path('articles_list') }}", 
      data: {'important': true, 'urgent': true}, 
      cache: false, 
      success: function(data){ 
       $('#list').html(data); 
      }, 
      error: function(){}, 
      complete: function(){} 
     }); 
    } 

showArticlesActionはいつも、私はAJAXでそれを使用しようとした場合、デフォルトのデータを受け取り、と正常に動作します:

{{ render(controller(
    'AppBundle:Articles:showArticles', 
    { 'important': true, 
    'urgent': true} 
    )) }} 

答えて

0

はあなたがそれらのパラメータを定義する必要があります経路定義:

/** 
* @Route("/articles/list/{important}/{urgent}", name="articles_list") 
*/ 

とAJAX呼び出しでメソッドを取得するか、POSTテーブルからこれらのパラメータを取得する

/** 
* @Route("/articles/list", name="articles_list") 
*/ 
public function showArticlesAction(Request $request){ 
    $articles = $this->returnAllArticles(); 

    $important = $request->request->get('important'); 
    $urgent = $request->request->get('urgent'); 

    return $this->render(
     'articles/list.html.twig', 
     array('articles' => $articles, 
      'important' => $important, 
      'urgent' => $urgent) 
    ); 
} 
関連する問題