對於Zend Framework和MVC的概念,我完全不熟悉。我想要做的是創建一個Ajax請求,它將返回我在我的視圖(.phtml)文件中指定的數據。Zend MVC中的Ajax調用
我現在的問題是,我的.phtml文件的內容夾在html頁腳和標題之間(整個新的HTML頁面正在返回)。獲取原始數據的最佳方法是什麼?解決方案或只是在正確的方向微調將非常感激!
編輯:經過進一步的研究,它看起來像我試圖做一個RPC調用,根據這個講座PDF(幻燈片51),我應該完全繞過MVC爲此目的。它是否正確?
對於Zend Framework和MVC的概念,我完全不熟悉。我想要做的是創建一個Ajax請求,它將返回我在我的視圖(.phtml)文件中指定的數據。Zend MVC中的Ajax調用
我現在的問題是,我的.phtml文件的內容夾在html頁腳和標題之間(整個新的HTML頁面正在返回)。獲取原始數據的最佳方法是什麼?解決方案或只是在正確的方向微調將非常感激!
編輯:經過進一步的研究,它看起來像我試圖做一個RPC調用,根據這個講座PDF(幻燈片51),我應該完全繞過MVC爲此目的。它是否正確?
Heximal的答案是一個良好的開端。更裸機(與不一個好辦法做到這一點,但簡單的)會是這樣了以下行動:
function ajaxDataAction(){
$data = getMyDataAsString(); //could be XML, JSON, etc.
die($data); //since we're dying, no view or layout rendering happens.
}
但不這樣做。
相反,應該看看ContextSwitch and AjaxContent view helpers(節的方式在頁面中向下約25%)
試試這個:
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout()->disableLayout();
$this->renderScript('myview/myview.phtml');
MyView的地方 - 是路徑的觀點./application/views/scripts/myview
我嘗試這樣做,也沒有工作。我很好奇,如果這是正確的方法,你能檢查我編輯的OP嗎? – 2010-12-21 16:49:20
我的應用程序需要使用大量的Ajax,並且性能是必需的。我認爲只渲染一個模板來返回一個JSON內容會有很大的開銷,或者不是?如果在控制器中使用類似的東西不是更好(例如在preDispatch方法中):`$ this-> getResponse() - > setBody(json_encode($ this-> data)) - > setHeader('Content-鍵入','application/json') - > sendResponse()。exit`?我想過只有一個模塊處理Ajax請求的可能性,這將是一個好習慣?謝謝。 – JCM 2011-09-09 22:43:34