2016-03-02 97 views
2

我有一個頁面,用戶可以通過簡單的表單發表評論並發表評論。 我試圖,沒有成功,用ajax使用樹枝做到這一點。 我可以發送ajax請求到我的控制器沒有問題,評論保存在我的數據庫。 我的問題是重新加載我的樹枝模板的一部分,而不刷新整個頁面。重新加載數據,而無需使用Ajax和Twig刷新頁面

我控制器的回報:

return $app['twig']->render('@views_suivi/suivi_affaire.html.twig', array('cache' => false, 
       'auto_reload' => true, 
       'affaire' => $affaire, 
       'comments' => $comments 
       )); 

$意見countains所有文章的評論。當我發送一個ajax請求時,我的表評論被更新。有沒有辦法更新變量$ comments並重新發送到我的樹枝而不刷新整個頁面?

編輯:對不起,這是我的控制器的代碼(它只是插入我的數據庫評論)

function addCommentAjax(Application $app, Request $request) 
{ 
    $cmt = new CommentaireQueries($app); 

    $postParams = $app["request"]->request->all(); 
    //var_dump($postParams); 
    if(isset($postParams['files'])) unset($postParams['files']); 
    return !empty($postParams) ? $cmt->insertCommentAffaire($app,$postParams) : false; 
} 

阿賈克斯: 'AjoutCommentaire' 是我的控制器addCommentAjax路線

$(document).ready(function() { 
    $('form').on('submit',function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     type  : "POST", 
     url  : "AjoutCommentaire", 
     data: $(this).serialize(), 
     success : function() { 
      alert('success'); 
     } 
     }); 
    }); 
}); 

我的表單:

<form role="form" method="POST"> 
    <div class="form-group"> 
    <textarea class="summernote" id="contents" rows="10" name="comment"></textarea> 
    </div> 
    <input type="hidden" name="phase" value="1" /> 
    <input type="hidden" name="id_affaire" value="{{ affaire.id }}" /> 

    <center><button type="submit" class="btn btn-link btn-block">Envoyer</button></center> 
</form> 

基本上,我只是想在不刷新頁面的情況下添加註釋。

謝謝!

+0

總是寫完整的代碼,以便別人找到解決方案 –

+0

都不清楚具體是什麼問題。我們不知道您的模板呈現什麼,或者您何時或如何希望更新發生。問題太廣泛了 – charlietfl

回答

0

ajax請求中的url未正確定義。你不能只指定路線名稱,你應該途徑產生網址:

$.ajax({ 
     type: "POST", 
     url: "path('AjoutCommentaire', {})", 
     ... 
相關問題