【问题标题】:Migrating from POST forms to CSS从 POST 表单迁移到 CSS
【发布时间】:2010-11-17 09:26:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php ajax xmlhttprequest lamp


    【解决方案1】:

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

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

    我会单独处理(同时在你这样做时记住另一个)

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

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

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

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

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

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

    您可以对其进行处理以更新您关心的页面部分。

    可以帮助您的框架包括YUIjQuery

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

    【讨论】:

    • 好的,我想我明白你在说什么了。首先,将布局迁移到 css,并保留常规的 POST 表单。不用担心用 POST 重新加载整个页面;迁移整个布局后,开始将每个表单逐个迁移到 AJAX 请求。对吗?
    猜你喜欢
    • 2011-11-22
    • 2018-09-14
    • 2017-05-30
    • 1970-01-01
    • 2017-07-08
    • 2012-06-05
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    相关资源
    最近更新 更多