CakePHP的单页网站

时间:2012-08-23 08:38:59

标签: cakephp layout single-page-application

我目前正在使用CakePHP处理单页可滚动网站(5页显示为单页)。我已经研究过每个控制器动作,一切运行良好。我有一个整个应用程序的布局和每个动作的视图。我的挑战是找到一种方法来加载每个动作的视图,而无需重新加载布局中的页面。我应该只将所有视图内容放在布局中(不要回显$ content_for_layout),还是可以有更好的方法来实现它?

1 个答案:

答案 0 :(得分:0)

考虑要更新的div标识为#content

$.ajax({
    url:"http://yourdomain.com/controller/action",
    context:document.body,
    dataType:"html",
    data:{id:123}, // in case you need to pass some params
    success:function(data){
        $("#content").html(data);
    }
})

操作必须返回要在该div中显示的HTML。如果你想让每个pags加载到不同的div中,你必须为每个页面创建一个div并为每个页面调用AJAX。

首次加载页面时,您可以为所定义的默认操作提取数据。然后,当您想要更改内容时,只需调用AJAX。