php – MVC:如何ajax?

前端之家收集整理的这篇文章主要介绍了php – MVC:如何ajax?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将使用Zend Framework MVC实现启动一个项目.

我如何使用ajax?我的意思是,我应该将所有ajax代码放入控制器吗?还是进入视野?

例如,我想从作者’ivan’获取帖子以显示页面上.

通常,我创建一个指向’/ posts / author / ivan’的链接或类似它的链接,在Posts控制器中创建一个像’byAuthorAction()’的新Action,或者在任何地方使用Users控制器,查看它(以及所有代码)什么从模型的帖子去那里)并创建一个新的路由到它.

如何添加功能获取json的任何用户帖子,ajax和API的xml格式,保持DRY原则并尽可能智能地设计代码结构?

谢谢你的回答!@H_502_12@我很高兴看到有关在像我这样的情况下设计MVC的评论.我在基本的MVC原则方面有一些经验,但在更复杂的情况下却没有.也许一些有用的链接

您真的应该阅读有关ContextSwitch Action Helper的手册章节.但这里有一个简要的概述:

>您的视图脚本(action-name.phtml)用于常规HTML输出@H_502_12@>您可以为控制器中的某些操作初始化上下文切换,以便输出例如XML – 默认情况下支持xml上下文,您可以将视图脚本放在xml上下文中(action-name.xml.phtml); xml上下文还禁用了布局的呈现@H_502_12@>内置上下文切换也支持json,默认选项是禁用布局和视图,并以JSON格式输出从控制器操作分配给视图的所有变量,可以使用setAutoJsonSerialization切换此选项(false)上下文切换的方法;但如果你切换它,你必须创建一个视图脚本action-name.json.phtml并手动输出JSON格式的变量

要在这两个上下文之间切换,您必须在网址中添加格式参数,例如/ posts / author / ivan / format / json或/ posts / author / ivan / format / xml.如果您没有指定格式,您的应用程序将输出纯HTML.

Context开关的特殊版本是AjaxContext,您还必须手动配置它.它不使用’format’参数来标识它应该用于输出的格式,但它会检查请求中发送的标头,并查找’X-Requested-With:XmlHttpRequest’标头,如果存在,则检查AjaxContext.使用AjaxContext操作助手,您可以指定在使用AJAX触发请求时应将哪个上下文用于特定操作.

猜你在找的PHP相关文章