1

我目前正在使用 CakePHP 开发一个单页可滚动网站(5 个页面显示为一个页面)。我已经处理了每个控制器操作,并且一切运行良好。我对整个应用程序有一个布局,每个操作都有一个视图。我的挑战是找到一种方法来加载每个操作的视图,而无需重新加载布局内的页面。我应该将所有视图内容放在布局中(不回显 $content_for_layout)还是有更好的方法来做到这一点?

4

1 回答 1

1

考虑到div您要更新的 id #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。如果您想将每个页面加载到不同的 div 中,则必须为每个页面创建一个 div 并为每个页面调用 AJAX。

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

于 2012-08-23T13:21:32.143 回答