只是一个简单的问题,是否可以通过jQuery Ajax调用cakePHP元素?我知道在cakePHP中调用元素的标准方法是:
<?php echo $this->element('path_to_element', 'data_to_send_to_element'); ?>
但是如果我想在$.ajax or .load()
函数中调用我的元素呢?我如何实现这一目标?
谢谢
答案 0 :(得分:6)
要通过Ajax或其他方式调用Cake中的任何内容,您需要在控制器中定义一个操作。您也可以创建视图,但也可以通过设置viewPath
让动作直接呈现元素。例如:
class MyController extends AppController {
// Apply Ajax layout automatically
var $components = array('RequestHandler');
function doSomething() {
$this->autoRender = false;
... // set parameters needed by the element...
// render an element
$this->viewPath = 'elements';
$this->render('path_to_element');
}
}