There are two action helpers for doing exactly this.
you can re-use your actions for multiple contexts with the ajaxContext or contextSwitch action helpers.
The context switch is generally the more useful in my experience, and it can even automatically serialize the data you assign to the view in your action for json responses so there is no need for a view script.
Eğer böyle içerik anahtarı sıfırlanır:
class MyController extends Zend_Controller_Action
{
public function init()
{
$contextSwitch = $this->_helper->getHelper('contextSwitch');
$contextSwitch->addActionContext('index', 'json')
->initContext();
}
public function indexAction()
{
$this->view->items = My_Model::fetchAll();
}
}
Yukarıdaki içerik anahtarı için json bir bağlam katacak ve eylem isteği parametre 'format' seti ile çağrıldığında, otomatik My_Model tarafından döndürülen öğelerin bir json dizi vererek bu durumda, içerik serialize olacak :: fetchAll ();
Biçim parametresi ya url "/ benim / index / format / json" veya "/ benim / index? Format = json" get sorgu ile geçilebilir
Gerçek büyü bağlam anahtarı aynı zamanda içerik türü olarak tepki türü için uygun başlıklarını, ayarlar olmasıdır.
You can even specify your own contexts, and the headers to send.
Read more about the context switch here