【发布时间】:2012-03-17 21:15:51
【问题描述】:
我有这个代码:
// controller
function contact($token) {
$this->layout = 'ajax';
}
// contact element
<some html, no php>
// contact view html + javascript
<script type=".....">
....
$.post(
$(this).attr("href"),
null,
function(data){
$(data).appendTo($(".contact_store_link").parent()).fadeIn();
}
);
</script>
<!-- the relevant html -->
<dd><a class="contact_store_link" href="/stores/contact">link title</a></dd>
问题在于,不管$this->layout = 'ajax'; 指令如何,返回的布局都是appController.beforeFilter() 函数中设置的默认布局。
问题是,除了布局之外,其余代码都运行良好。正确的控制器 + 动作 + 传递的参数。元素和视图也可以正常工作,返回的数据包含处理后的数据,只是布局错误。
清除 tmp 文件夹没有帮助。 我还验证了 ajax 布局是应有的(并且可以在另一个 controller.action+view 集中工作)。
?
【问题讨论】:
标签: jquery ajax cakephp layout