你如何设计/构建一个完全ajaxed MVCish风格的网站?我想最让我困惑的是,只有一个视图可以适应和改变用户操作......
我希望以这种方式构建一个非常简单的应用程序,包括前端和后端。
答案 0 :(得分:1)
是的,你正在构建一个“前端控制器”,它们可以将视图(不止一个)路由到页面以便在div中进行渲染。我的公司使用它的两个应用程序来实现这一点,它闪电般快速,是一个简单的应用程序的好方法...用户喜欢它。成功的关键是一个精心设计的布局,定义明确的div来接收内容。由于您将反复编写和重写它们,您必须提前确保它们能够处理各种大小和数量的数据,因为您将很少有方法在整个容器上实现每页布局....除了事后的黑客攻击(只说不!)
与控制器和模型以及视图(前端视图代码)一样,在某些情况下,我们的代码将使用中间页面(我们称之为中间模型)以JSON字符串格式生成Jquery数据。在这种情况下,它不是一个模型,因为它像模型一样采取行动,但有时根据Jquery元素的需要返回的不仅仅是JSON。
该系统的一个有趣的分支是使用名为XAJAX的程序。它是一个PHP库,它促进了直接调用PHP函数的AJAX,因此它不需要像Jquery那样使用中间JSON生成页面。对于那些了解PHP但却厌倦了Javascript的人来说,这可能是一个更容易理解的解决方案。虽然文档证明不是很强大,但它是一个非常强大的工具。
答案 1 :(得分:0)
我会照常执行所有视图(除了它们只是将插入到页面中的HTML片段),然后有一个额外的“特殊”控制器和视图,通过Ajax加载您的视图。当点击链接或类似的东西时,JavaScript向您要加载的视图向特殊控制器发出Ajax请求。然后,特殊控制器呈现视图并将其发回以插入页面。