简单页面提交 - vs - Ajax加载程序

时间:2009-08-15 21:39:08

标签: php html ajax jquery-ui jquery

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

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

4 个答案:

答案 0 :(得分:1)

这不是你不应该使用ajax到post表单,是你必须“加倍”你的工作(少量的双倍)。我通常使用普通提交制作表单,然后我用javascript覆盖它。这样你就可以获得非javascript的回落,并且不会让任何人掉队。还可以使用jQuery的$.post$('#myform').serialize方法。

没有内在的原因,它没有被更多地使用。对于大多数网站而言,实际上并不需要AJAX。

答案 1 :(得分:0)

AJAX不一定更快,它不一定更容易使用,并且并非所有访问者都能够使用它(特别是那些为某些或所有网站禁用JavaScript的人)。对于传统的提交,并不总是能够可靠地显示AJAX提交的进度条。最后,由于服务器端代码看起来大致相同,无论您使用哪种客户端提交方法,通过AJAX提交都需要付出更多努力,但这并不总是合理的。

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

答案 2 :(得分:0)

AJAX是一项相对较新的技术,我确信在某些应用程序中很难实现。如果您正在为应用程序添加AJAX,请考虑Progressive Enhancement

答案 3 :(得分:0)

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

理想情况下应该发生的是,当您加载Javascript时,它会在事件捕获器中放入提交表单时返回false,然后使用AJAX提交它。如果未启用Javascript,则不会提交任何错误,并且表单将在服务器端提交。

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

开始

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

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