将AJAX视为模型 - 视图 - 控制器?

时间:2009-08-06 00:20:43

标签: ajax model-view-controller design-patterns

我以这种方式思考AJAX:

  • 模型:通过Web服务存储和公开数据的服务器端。在某种程度上,这是较大的模型 - 视图 - 控制器中的模型 - 视图 - 控制器(模型=数据,视图= XML或一些其他可解析的数据结构,控制器=操纵数据的服务器端代码)。
  • 查看:XHTML / DOM
  • 控制器:Javascript / JQuery

这是考虑AJAX编程的合理方式吗?

2 个答案:

答案 0 :(得分:3)

你也是,嗯?

是。我认为这是构建编辑操作的一种非常好的方法。

但是......您可能希望保留应用程序中许多文档或对象的传统HTML“视图”页面,以便在需要时可以支持搜索引擎,从而可以在应用程序中显示指向页面的深层链接有意义的东西。

这种方式,使用这两种方法,你有一个混合,而不是“un-webby矩形”问题,你永远不会给任何东西添加书签,发送链接到你的朋友,或让搜索引擎生成[好]链接。


8/10:我想这也意味着您应该将应用程序的“服务器”端视为“REST”服务,理想情况下。此外,请确保不要陷入认为客户端代码以任何方式,无论如何,安全(甚至“模糊”)的陷阱。确保支持“服务呼叫”回到您的Web服务器具有良好的安全基础架构。

答案 1 :(得分:2)

我发现围绕基于事件的范例设计ajax代码更有用。 MVC与基于事件的组织不是互斥的,但对我而言,焦点越来越多地放在事物处理方面,而不是传统的模型视图控制器看待事物的方式。

它更像是一个MWE(模型,小组件,事件)组织,其中包含事件代码或包含Controller代码。