2013-09-22 122 views
0

有人可能會建議我一個很好的Zend使用Ajax的初學者教程。我一直在尋找一些本教程的網絡,但找不到一個可以理解的。在有些人說你有爲json響應創建一個.json.phtml文件,其他人都不需要。我對Zend Framework 1的所有這些ajax調用非常困惑。非常感謝。Zend Framework 1 Ajax

回答

2

那麼真的有一些基本的東西。

  1. 讓您的數據(從數據庫,文件,在碼陣列,等等)
  2. 獲取控制器助手
  3. 發送JSON響應

就是這樣。好吧,不完全是,但基本上是的! 只要你有數據$data

$this->_helper->json($data, true); 

將返回一個JSON響應。該文檔是here

現在有一種Context Switch和AjaxContentHelper的其他概念,其中:

ContextSwitch動作助手用來使在請求返回不同的響應格式。 AjaxContext助手是ContextSwitch的一個特殊版本,可以方便地將響應返回給XmlHttpRequests。

要啓用其中任何一個,您必須在控制器中提供暗示,以瞭解哪些操作可以響應哪些上下文。如果傳入的請求指示給定操作的有效上下文,則幫助程序將:

  • 禁用佈局(如果啓用)。
  • 設置備用視圖後綴,實際上需要單獨的視圖腳本作爲上下文。
  • 爲所需上下文發送適當的響應標題。
  • (可選)調用指定的回調來設置上下文和/或執行後處理。

事情是這樣的:

$contextSwitch = $this->_helper->getHelper('contextSwitch'); 
$contextSwitch->setDefaultContext('json'); 
$contextSwitch->addActionContext('index', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('get', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('post', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('put', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('delete', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('head', array('xml','json'))->initContext(); 

你並不真的需要一個教程,我想。所有你需要的是關於網絡如何在內部工作的基本知識,並閱讀Zend Documentation。無論如何,這裏有一些tutorial on ContextSwitch