我试图插入数据库然后查看帖子列表和 用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);
});
});
但提交后没有任何反应。
答案 0 :(得分:0)
看起来你说GetJSON,但是你发送了Html?无法工作。你应该发送一个JsonResponse,或者你必须正确地设置标题'Content-Type:application / json'。如果您使用GetJSON,浏览器会尝试自动转换来自php脚本的响应(无论是否为其silex),并且标头必须是JSON类型。