有太大的区别并不是使用CakePHP使用Ajax比普通的HTML/PHP和Ajax。
这里有一个AJAX调用和响应的蛋糕APP的例子:
的jQuery:
$.ajax({
url: '/types/fetch/original',
cache: false,
type: 'GET',
dataType: 'HTML',
success: function (data) {
$('#context').html(data);
}
});
(不要忘了更改URL参数,以符合你的配置)。
这将向您的类型控制器发出ajax请求,并使用参数'original'调用fetch()方法。
你TypesController会是这个样子:
class TypesController extends AppController {
public $components = array(
'RequestHandler'
);
public function fetch($type) {
$data = $this->Type->find('all', array(
'conditions'=>array(
'Type.type'=>$type
)
);
$this->set('data', $data);
}
}
添加RequestHandler组件意味着渲染你的Ajax请求时蛋糕将自动使用最小的Ajax布局。通常这是在AppController中添加的,所以所有的控制器都可以使用它。
与相关视图:
/app/View/Types/fetch.ctp
<ul>
<?php foreach($data as $item): ?>
<li><?php echo $item['Type']['name']; ?></li>
<?php endforeach; ?>
</ul>
thx来回答,这是行不通的,但是如果我回显这个'<?php echo Router :: url(array('controller'=>'products', 'action'=>'get_type_product'));?>''一个输出就像这样'/ jc/products/get_type_product',所以我把这个输出放到了像这样的'url:'/ jc/products/get_type_product' ',这是工作..可能'url:'<?php回声路由器:: url(数组('控制器'=>'产品','行动'=>'get_type_product'));?>','有一个问题.. – casper