Zend MVC中的Ajax调用
问题描述:
对于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%)
答
您的ActionController内
试试这个:
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout()->disableLayout();
$this->renderScript('myview/myview.phtml');
MyView的地方 - 是路径的观点./application/views/scripts/myview
+0
我尝试这样做,也没有工作。我很好奇,如果这是正确的方法,你能检查我编辑的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