如何在cakephp 2中设置自定义ajax分页。*

时间:2013-09-17 00:02:05

标签: cakephp-2.0

如何在不使用默认的ajax助手的情况下在cakephp中设置ajax?默认的ajax助手将js代码放在页面本身上,我不希望这样。我想将它设置在一个单独的js文件(即general.js)中。我怎么做?我已经设置了分页。

1 个答案:

答案 0 :(得分:1)

首先确保你已经设置了jquery。在default.ctpView/Layouts/default.ctp)中,在<head>部分添加以下内容:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

AppController.php文件(Controller/AppController.php)中添加以下行

function beforeRender() {

        if ($this->request->is('ajax')) {
            $this->layout = false;
        }
}

这会导致当对控制器操作进行ajax调用时,仅加载视图本身而不是整个布局。

general.js文件(webroot/js/general.js)中添加以下代码:

$(document).ready(function(){
        ajaxPagingNavigation();
});

function ajaxPagingNavigation() {
    $(".paging a").click(function(e) {
            $.ajax({
              url: $(this).attr('href'),
              cache: false
            }).done(function( html ) {
              $("#content").html(html);
              ajaxPagingNavigation();
            });

        e.preventDefault();
    });
}