如何在Silex插入帖子中使用jQuery ajax

时间:2016-04-02 03:49:42

标签: php jquery silex

我试图插入数据库然后查看帖子列表和 用ajax显示它,但我不确定该怎么做。

这是我的路线:

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

然后在我的控制器上处理插入内容然后访问Model实体 并将其传递给视图

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

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

然后在我看来,这只是一个简单的文本区域。 因此,在提交帖子时,它应该通过ajax

显示

这是我的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);
}); 

});

但提交后没有任何反应。

1 个答案:

答案 0 :(得分:0)

看起来你说GetJSON,但是你发送了Html?无法工作。你应该发送一个JsonResponse,或者你必须正确地设置标题'Content-Type:application / json'。如果您使用GetJSON,浏览器会尝试自动转换来自php脚本的响应(无论是否为其silex),并且标头必须是JSON类型。