使用Ajax / Jquery进行表单提交

时间:2011-01-31 21:47:59

标签: php performance jquery

当我第一次使用php开始web开发时,当使用POST时,我会得到包含信息的表单的页面,然后是另一个“action”属性指向的php页面,因此所有处理即数据库工作的位置已经完成。在创建了一个包含多种表单的网站之后,我发现我正在构建大量页面并且它变得非常混乱。

然后我开始寻找避免这种情况的方法。然后我发现我可以将页面发布到自身,从而减少了我需要用来提交表单的页数。我使用php中的isset()函数做到了这一点。这个问题是需要刷新整个页面。

更加朝向未来我发现了jquery及其使用ajax来提交表单等。这让我回到了原来的问题,即有太多的页面并且与什么做了什么混淆。所以现在我想知道(虽然我不太清楚我能理解它)如果有办法将两者结合起来吗? jquery可以使用ajax来处理指向自身的表单吗?

我想到的其他选项是有一个页面,我发送所有表单和操作,其中包含所有处理,并根据交换机确定要使用的部分。我不确定这会对性能产生什么影响。

  • 您对每种方法有什么看法?
  • 有哪些优点/缺点?
  • 我提到的任何方法都不赞成/不良做法吗?

这个问题一直困扰着我一段时间,所以我认为最好能够得到专家的想法。

提前致谢。

Adam Holmes。

2 个答案:

答案 0 :(得分:1)

jQuery可以处理它,并发送到你想要的任何地方: - )

你不觉得使用某种类和自动加载(PHP 5)吗? - 它使您在第二个选项中的选择更加简单(somepage.php?class = Foo& ....)

答案 1 :(得分:1)

答案很简单。 Jquery使用AJAX以与使用常规表单相同的方式请求页面。因此,您可以使用jquery在页面本身上发布表单中的信息,然后像往常一样使用isset()执行您想要的任何操作。 显而易见的优点是您不需要刷新页面,一切看起来更加无缝。然而,有时你需要刷新,例如在登录期间。缺点是javascript关闭的用户将无法使用该表单,但根据我的经验,这现在主要适用于移动设备,并且有限的方式甚至那么。 我会说使用jquery / ajax提交表单是要走的路,只要确保提供无需javascript的替代方案,如果它是必不可少的,并且如果你从移动设备收到大量流量。

其他人可能会提供更详细的答案,所以请将此作为一个小小的总结。