0

我的任务是将 Web 应用程序迁移到更“现代感”的 AJAX Web 2.0 协议。应用程序目前使用 PHP 从数据库中提取数据,向用户呈现表单,然后根据这些表单提交更新数据库。框架用于有一个持久的主导航菜单,以及一个实际的内容区域。

所以每个php脚本基本上都是寻找$_POST信息;如果没有,则显示用户数据库数据,否则更新数据(只要它是正确的数据),然后向用户显示结果。有显示子集的简单获取导航。

要将其迁移到具有 css 布局且内容更改发生在 div 内的 AJAX 站点,我不能使用 POST,因为这会刷新整个页面,对吗?(我的意思是我可以,但这会很浪费——当只有一小部分发生变化时,我不需要重新生成整个页面。)所以基本上,整个任务是使用 Javascript 读取表单信息,发送 XML HTTP请求并显示结果?这听起来像是在 javascript 中重写现有的 php 功能,我希望避免这种情况。

我是否正确理解了任务?是否有可以帮助我的库或框架?

4

1 回答 1

1

这里有两个问题,它们在某些方面是相关的,但不应简单地混为一谈。

  • 用于布局的 CSS
  • 提交表单时仅加载部分页面

我会单独工作(同时记住另一个)

首先,我建议您专注于转向基于 Web 标准的页面 — 不引入 Ajax。

重新加载整个页面时确实存在一些低效率,但这种方法简单且相对容易调试。

执行此操作时,请考虑将显示和业务逻辑分开。MVC 模式适用于此。

CakePHP是一个流行的 MVC 框架,它可能会有所帮助。

一旦你有了一个工作系统,你就可以担心使用 Ajax。遵循渐进增强的原则。

如果您已将我们的显示逻辑与业务逻辑分开,您应该会发现使用不同的视图重用现有代码相对简单,该视图以 JavaScript 友好格式(例如 JSON)提供您关心的数据。

您可以处理它以更新您关心的页面部分。

可以帮助您的框架包括YUIjQuery

我去年写了一个简单的例子。主脚本从第 51 行开始将数据泵入HTML 模板以供浏览器直接处理或 JSON 模块以供JS 处理。那里没有大量的重复工作,因为用于查看用户发送的参数并基于它从数据库中提取数据的代码是共享的。

于 2009-08-06T15:14:01.610 回答