【问题标题】:Simple page submit - vs - Ajax loader简单的页面提交 - 与 - Ajax 加载器
【发布时间】:2009-08-15 21:39:08
【问题描述】:

处理表单的方法有很多种。一种是简单地在 php 上提交表单和获取变量,而我正在考虑的另一种是使用 ajax 发送数据,在此过程中,我们可以显示一个对话框并显示有关使用进度条处理数据的信息.

尽管 ajax 比标准技术更快,而且有时更容易使用,为什么很少有网站使用 ajax 方法?

【问题讨论】:

    标签: php html ajax jquery-ui jquery


    【解决方案1】:

    这并不是说您不应该使用 ajax 到 post 表单,而是您必须“加倍”您的工作(对于少量的加倍)。我通常使用普通提交来制作表单,然后然后我用 javascript 覆盖它。这样你就有了一个非 javascript 的后备,并且不会让任何人落后。还可以查看 jQuery 的 $.post$('#myform').serialize 方法。

    没有内在的理由表明它没有被更多地使用。只是对于大多数网站来说,AJAX 并不是真正需要的。

    【讨论】:

      【解决方案2】:

      Javascript,作为一种语言,应该主要被视为一个“插件”。您的页面应该可以在不使用 Javascript、AJAX 或任何其他浏览器语言的情况下完美运行。

      理想情况下应该发生的是,当您加载 Javascript 时,它会放入一个事件捕获器,当表单提交时,它会返回 false,而是使用 AJAX 提交它。如果没有启用 Javascript,则没有任何东西都提交 false,并且表单是在服务器端提交的。

      这允许最大的兼容性,这也是人们不鼓励在实际标签中使用大量 Javascript 的原因:

      有些人关闭了 Javascript,一些旧的浏览器可能会在 onClick 事件中出现错误。哎呀,人们可能会出于某种原因开发完全省略 Javascript 的新浏览器。

      重点是 Javascript 应该只是网页的“插件”,而不是网页的核心。 (除非它是一个 Javascript 应用程序,它绝对通过 Javascript 完成所有工作。但普通形式不是 Javascript 应用程序)

      【讨论】:

      • 谢谢你的回答......现在我正在考虑同时实施。
      【解决方案3】:

      AJAX 不一定更快,也不一定更容易使用,而且并非所有访问者都能够使用它(尤其是那些为部分或所有网站禁用了 JavaScript 的访问者)。与传统提交相比,AJAX 提交也不总是能够可靠地显示进度条。最后,由于无论您使用哪种客户端提交方法,服务器端代码看起来都差不多,因此通过 AJAX 提交更费力,这并不总是合理的。

      这并不是说 AJAX 是一种糟糕的技术,或者应该避免使用它。但是,即使可以选择通过 AJAX 提交的表单也应该支持传统提交。之后,您选择启用 AJAX 提交的表单应该取决于您有预算(或者,如果它是一个宠物项目,时间)来完成额外的工作。

      【讨论】:

        【解决方案4】:

        AJAX 是一种相对较新的技术,我敢肯定在某些应用程序中很难实现。如果您打算将 AJAX 添加到您的应用程序中,请考虑 Progressive Enhancement

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-04-10
          • 1970-01-01
          • 2012-08-06
          • 2013-08-01
          • 1970-01-01
          • 2015-06-05
          • 1970-01-01
          相关资源
          最近更新 更多