2017-04-04 10 views
0

enter image description here私はsymfonyを初めて使っています。私はbootstrap tablesのビューページを持っています。symfony 3でajaxを使用してコントローラから関数を削除するコール

public function deleteAction(Request $request, SiftscienceTracker $siftscienceTracker) 
{ 
    $form = $this->createDeleteForm($siftscienceTracker); 
    $form->handleRequest($request); 

    if ($form->isSubmitted() && $form->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->remove($siftscienceTracker); 
     $em->flush(); 
    } 

    return $this->redirectToRoute('admin_siftsciencetracker_index'); 
} 

私の質問は、私は削除からAJAX呼び出しとコントローラのこの関数を呼び出すことができるかどうかです:私も(SRC \ AppBundle \コントローラ\ SiftscienceTrackerController.php)が作成され、次のように削除機能があるCRUDコントローラを持っていますボタンの行とどのようにAJAXを書く必要がありますか?そうでない場合は、そのコントローラー内に別の関数を作成して、その関数をajaxで呼び出すことができますか?

public function deleteAction(Request $request, SiftscienceTracker $siftscienceTracker) 
{ 
    $form = $this->createDeleteForm($siftscienceTracker); 
    $form->handleRequest($request); 

    if ($form->isSubmitted() && $form->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->remove($siftscienceTracker); 
     $em->flush(); 
    } 

    $request = $this->getRequest(); 

    if($request->isXmlHttpRequest() || $request->get('_xml_http_request')){ 
     return new JsonResponse("{url: $this->generateUrl('admin_siftsciencetracker_index')}", 200); 
    } 

    return $this->redirectToRoute('admin_siftsciencetracker_index'); 
} 

あなたは、要求が別の行動を避けるために、AJAX要求であれば、私はチェック見ることができるように:

答えて

0

は、ここではjQueryを使った例です。

あなたの行動は、あなただけのAJAX呼び出しを行ったスクリプトにJSONとしてURLを返すとJavaScriptでリダイレクトを作るリダイレクトを返すので:私はロジックを参照してくださいが、私は、URLで少し混乱mは

$.ajax({ 
    url: $('#my-form').prop('action'); 
    method: 'post', 
    data: $('#myForm').serializeArray() 
    success: function(response){ 
    window.location(response.url); 
    } 
}); 
+0

感謝を:$( '#my-form')。prop( 'action');.私は、ビュー内に行があるテーブルだけを持っていません。画像で編集された質問 –

関連する問題