从POST表单迁移到CSS

时间:2009-08-06 15:06:57

标签: php ajax xmlhttprequest lamp

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

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

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

我是否正确理解了这项任务?是否有可以帮助我的图书馆或框架?

1 个答案:

答案 0 :(得分:1)

这里有两个问题,这些问题在某些方面有关,但不应该简单地集中在一起。

  • CSS for layout
  • 仅在提交表单时加载部分页面

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

首先,我建议您专注于迁移到基于Web标准的页面 - 而不引入Ajax。

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

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

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

一旦你有一个工作系统,那么你可以担心使用Ajax。遵循progressive enhancement的原则。

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

您可以对此进行处理,以更新您关注的网页部分。

可以帮助您的框架包括YUIjQuery

去年我写了simple example。从main script泵送数据的第51行到HTML template进行直接由浏览器处理或用于processing with JS的JSON模块。由于查看用户发送的参数以及基于它从数据库中提取数据的代码是共享的,因此没有大量的重复工作。