Ajax调用如何适应MVC结构

时间:2013-06-13 21:26:32

标签: ajax model-view-controller

我正在使用MySQL / PHP / Jquery和自定义MVC结构,因为我的应用程序相当小。我的问题是(,这可以是任何语言):当使用MVC编程结构时,你通过ajax命中的文件在哪里?

例如,我使用长轮询来显示后台处理的状态(进度条)。在我的non-MVC版本的这个工具中,我只有一个只有ajax调用命中的php文件,它会生成一个对象并调用一个方法来返回完成的百分比。 Ajax返回我的号码并更新进度条。

这个ajax加载如何适合MVC结构?

谢谢!

2 个答案:

答案 0 :(得分:1)

即时通讯使用codeigniter,我使用ajax的专用控制器并检查$ _SERVER ['HTTP_X_REQUESTED_WITH']以确定它是否是ajax请求。 您可以使用相同的方法,并且可以保留所有结构(在ajax控制器等中使用模型......)

答案 1 :(得分:1)

MVC只是一种模式。 JavaScript代码本身可以实现这种模式,所以我不认为它适合服务器端框架模式的其他部分。查看Backbone以获取在JavaScript代码中使用MVC的一个很好的示例。

您可以使用您为服务器端代码建模的类似概念对JavaScript代码进行建模。 JavaScript代码本身将通过服务器端应用程序的视图提供服务,但除非您只是添加JavaScript代码(您不是),但JavaScript代码实际上是它自己的实体,并不一定适合你的服务器端MVC范例。

尝试将JavaScript代码与服务器端分开。只需将其视为“添加”,如果在浏览器中禁用,则不会使应用程序无法运行。我只是添加了一些细节以便更好地进行交互,等等。您如何实际模拟JavaScript代码取决于您,(但我强烈推荐Backbone)

还可以在仅由数据源支持的javascript中执行Rich前端。在这种情况下,javascript将再次负责维护模型,视图和控制器。

域模型通常只是指应用程序的业务逻辑。大脑可以说你的应用程序应该发生什么。它是一种封装应用程序所有业务逻辑的抽象概念。