我正在使用 MySQL/PHP/Jquery 和自定义MVC
结构,因为我的应用程序很小。我的问题是(这可以是任何语言):当使用MVC
编程结构时,您通过 ajax 访问的文件会去哪里?
例如,我使用长轮询来显示后台处理的状态(进度条)。在我的non-MVC
的这个工具的版本中,我只有一个 php 文件,它只被 ajax 调用命中,它创建一个对象并调用一个方法来返回完成的百分比。Ajax 返回我的号码并更新进度条。
这个 ajax 加载如何适应MVC
结构?
谢谢!
我正在使用 MySQL/PHP/Jquery 和自定义MVC
结构,因为我的应用程序很小。我的问题是(这可以是任何语言):当使用MVC
编程结构时,您通过 ajax 访问的文件会去哪里?
例如,我使用长轮询来显示后台处理的状态(进度条)。在我的non-MVC
的这个工具的版本中,我只有一个 php 文件,它只被 ajax 调用命中,它创建一个对象并调用一个方法来返回完成的百分比。Ajax 返回我的号码并更新进度条。
这个 ajax 加载如何适应MVC
结构?
谢谢!
MVC 只是一种模式。JavaScript 代码本身可以实现这种模式,所以我认为它不适合服务器端框架模式的其他部分。查看Backbone以获得在 JavaScript 代码中使用 MVC 的一个很好的示例。
您可以根据您对服务器端代码建模的类似概念来建模您的 JavaScript 代码。JavaScript 代码本身将通过您的服务器端应用程序的视图提供,但除非您只是用 JavaScript 代码(您不是)添加眼睛糖果,否则 JavaScript 代码实际上是它自己的实体,不一定适合您的服务器端 MVC 范例。
尝试将 JavaScript 代码与任何服务器端分开。只需将其视为“附加组件”,如果在浏览器中禁用它,也不会破坏您的应用程序运行。我只是添加了一些细节以允许更好的交互等。你如何对 JavaScript 代码进行实际建模取决于你,(但我强烈推荐 Backbone)
也可以在仅由数据源支持的 javascript 中做一个丰富的前端。在这种情况下,javascript 将再次负责维护模型、视图和控制器。
领域模型通常只是指您的应用程序的业务逻辑。可以说,在您的应用程序中应该实际发生的事情的大脑。它是一种抽象概念,封装了应用程序的所有业务逻辑。
我使用codeigniter,我使用专用的ajax控制器并检查$_SERVER['HTTP_X_REQUESTED_WITH']以确定它是否是ajax请求。您可以使用相同的方法,并且可以保留所有结构(在 ajax 控制器等中使用您的模型......)