Symfony 2 + ajax Twitter类似于加载更多内容

时间:2012-04-12 09:03:08

标签: php jquery ajax symfony

我正在创建一个页面,我可以在首页上加载更多“新闻”。现在有4个“新闻”,当我按下按钮加载更多时,它应该加载4个新消息。

我知道如何用普通的php和ajax做到这一点。但我不知道如何使用Symfony 2。

使用此网站,代码示例作为来源,http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

创建一个单独的路由以获取更多新闻,例如news/get/[index],然后您的控制器从db获取新闻对象并输出为json formate,例如,

public function yourControllerAction(){
  $news = //objects fetched from db

  //set json header
  $response = new Response();
  $response->headers->set('Content-Type', 'application/json');
  $response->setContent(json_encode($news);
  return $response;
}

然后在您的页面中,您可以使用原始javascript或javascript模板引擎(如mustache)填充它。您还可以检查JMSSerializerBundle以微调json输出。

答案 1 :(得分:0)

您最简单的方法是使用嵌入式控制器: http://symfony.com/doc/current/book/templating.html#embedding-controllers

给它一个默认为0或类似的值(我会建议新闻ID)。然后,如果新闻ID为0,嵌入式控制器将加载最新的4条新闻,或者加载您提供的ID之后的下一条4条新闻,这将是您显示的上一条新闻的ID。

没有代码重复。