2

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

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

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

谢谢!

4

2 回答 2

1

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

您可以根据您对服务器端代码建模的类似概念来建模您的 JavaScript 代码。JavaScript 代码本身将通过您的服务器端应用程序的视图提供,但除非您只是用 JavaScript 代码(您不是)添加眼睛糖果,否则 JavaScript 代码实际上是它自己的实体,不一定适合您的服务器端 MVC 范例。

尝试将 JavaScript 代码与任何服务器端分开。只需将其视为“附加组件”,如果在浏览器中禁用它,也不会破坏您的应用程序运行。我只是添加了一些细节以允许更好的交互等。你如何对 JavaScript 代码进行实际建模取决于你,(但我强烈推荐 Backbone)

也可以在仅由数据源支持的 javascript 中做一个丰富的前端。在这种情况下,javascript 将再次负责维护模型、视图和控制器。

领域模型通常只是指您的应用程序的业务逻辑。可以说,在您的应用程序中应该实际发生的事情的大脑。它是一种抽象概念,封装了应用程序的所有业务逻辑。

于 2013-06-13T21:34:34.563 回答
1

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

于 2013-06-13T21:33:41.157 回答