2016-04-02 11 views
1

データベースに挿入して投稿リストを表示しようとしていますが、 をajaxで表示していますが、それを行う方法はあまりよく分かりません。ここでSilexのjQuery ajaxの使い方挿入ポスト

は私のルートです:

$app->match('/status', 'Post\StatusPost\Controller\StatusPostController::statusAction')->bind('main'); 

はその後、私のコントローラ上で、私はモデルのエンティティ にアクセスし、ビューに

$posts = new Post(); 
$posts = $posts->allPosts($app); 

return $app['twig']->render('status.html.twig', [ 
    'form' => $form->createView(), 
    'posts' => $app->json($posts), 
]); 

を渡し、その後、インサートの低いものを処理その後、私のビューにだけありますシンプルなテキストエリア。 だからポストを提出する時に、それはここに私のjsスクリプト

$('#status-btn').click(function(){ 
$.getJSON('/status', function(data){ 
    console.log(data); 
    var html; 
    $.each(data, function(entryIndex, entry){ 
    html += '<div class="status-container">'; 
    html += '<h3 class="status-title">' + entry.name + '</h3>'; 
    html += '<img src="' + window.location.href + '/images/' + entry.image + '">'; 
    html += '<p class="status-content">' + entry.status + '</p>'; 
    html += '<span class="status-time">' + entry.timestamp + '</p>'; 
    html += '</div>'; 
    }); 
    $('.content-container').html(html); 
}); 

が})だアヤックス

を経由して、それを表示する必要があります。

しかし、送信すると何も起こりません。

+0

「status-btn」はどこからですか?それは動的に追加されますか? – guradio

+0

ビューテンプレートにごめんなさいありがとうございました – dashred

+0

'

{{form_widget(form)}}
dashred

答えて

0

あなたはGetJSONと言うようですが、あなたはHTMLを送信しますか?動作することはできません。 JsonResponseを送信するか、ヘッダーを適切に 'Content-Type:application/json'に設定する必要があります。 GetJSONを使用すると、ブラウザは自動的にPHPスクリプトからの応答(silexに関係なく)とヘッダがJSON型である必要があります。

関連する問題