为Zend Framework应用程序构建AJAX的最佳方法

Joh*_*all 5 javascript php ajax jquery zend-framework

我想过有一个AJAX模块服务层,控制器和操作与我的模型交互.容易,但不是非常可扩展,并且会违反DRY.如果我改变某个过程的后勤,我将不得不编辑AJAX控制器和普通控制器.

理想情况下,我会为javascript和非javascript用户加载完全相同的操作.我想过可能要检查一下$_POST['ajax'],如果设置了,我会为数据加载一个不同的(json'y)视图.想知道如何/一个好方法(我想象的前端控制器插件?)或者是否有人可以指向我的UP TO DATE教程,该教程描述了构建更大的ajax应用程序的一个非常好的方法.

kar*_*m79 5

您实际上可以使用请求对象来确定是否通过ajax发生了请求,例如:

// from your controller
if($this->getRequest()->isXmlHttpRequest()) {
    // an ajax request, do something special (e.g. render partial view)
} else {
   // render entire view
}
Run Code Online (Sandbox Code Playgroud)

这基本上是测试x-requested-with标题(并不总是存在,取决于JS库等).请参阅(在'检测ajax请求'标题下):

http://framework.zend.com/manual/en/zend.controller.request.html