如何在不使用默认的ajax助手的情况下在cakephp中设置ajax?默认的ajax助手将js代码放在页面本身上,我不希望这样。我想将它设置在一个单独的js文件(即general.js
)中。我怎么做?我已经设置了分页。
答案 0 :(得分:1)
首先确保你已经设置了jquery。在default.ctp
(View/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();
});
}