Non c'è molta differenza di utilizzare CakePHP con l'Ajax che con regolare HTML/PHP e Ajax.
Ecco un esempio di una chiamata AJAX e la risposta in una torta di APP:
jQuery:
$.ajax({
url: '/types/fetch/original',
cache: false,
type: 'GET',
dataType: 'HTML',
success: function (data) {
$('#context').html(data);
}
});
(Non dimenticare di modificare il parametro url per abbinare il vostro setup).
Ciò comporterà una richiesta Ajax al controller di tipi e chiamerà il metodo fetch() con il parametro 'original'.
tuo TypesController sarebbe simile a questa:
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);
}
}
Aggiunta del componente RequestHandler significa torta utilizzerà automaticamente il layout minimal Ajax quando il rendering dei tuoi richieste Ajax. Di solito questo viene aggiunto in AppController in modo che tutti i Controller possano usarlo.
E la vista associata:
/app/View/Types/fetch.ctp
<ul>
<?php foreach($data as $item): ?>
<li><?php echo $item['Type']['name']; ?></li>
<?php endforeach; ?>
</ul>
thx per la risposta, questo non funziona, ma se echo questo ' php echo Router :: url (array ('controller' => 'prodotti', 'action' => 'get_type_product'));?> '' un output è come questo '/ jc/products/get_type_product', quindi metto questo output in un url jax come questo' url: '/ jc/products/get_type_product' ', è lavoro..maybe' url: ' php echo Router :: url (array (' controller '=>' prodotti ',' azione '=>' get_type_product '));?>', 'ha un problema .. – casper