首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax表单验证的利弊

Ajax表单验证的利弊
EN

Stack Overflow用户
提问于 2011-03-12 00:11:57
回答 3查看 1K关注 0票数 1

我认为使用Ajax验证表单对于避免代码重复非常有用。在实现之前,我感兴趣的是,与简单的javascript验证相比,这种技术是否有任何缺点。我只看到几个论点,但我认为考虑到这些论点是相当薄弱的:

很明显,ajax会增加服务器负载,但每个表单只有5-6个连接(这不应该是性能bottleneck.

  • Also )--我看到js验证可以脱机工作,但是由于我们最终需要提交表单,所以没有互联网连接就无法工作。

  • 速度也不是问题,因为现在宽带几乎无处不在。

还有其他我错过的争论吗?

EN

回答 3

Stack Overflow用户

发布于 2011-03-12 00:19:51

从用户体验的角度来看,Ajax验证是很棒的,因为您得到了即时的反馈。

需要记住的一点是,即使使用ajax验证表单,一旦提交的值到达服务器,仍然需要重新验证,以防止安全漏洞,因为攻击者只需使用curl之类的方法发送任意值。

票数 2
EN

Stack Overflow用户

发布于 2011-03-12 00:25:25

如果你想要的是

我只是问我是否会用javascript而不是ajax来验证一个表单,我会得到任何我不能用ajax做的事情吗?

那就不要了。最后,你会在用户的错误输入上得到一个手势。

但是,我不会那么轻易地忽略服务器负载。

每个表单有5个额外的请求--在服务器上重做它需要对表单提交所做的检查--这大约是服务器在表单上工作的两倍。

请记住,AJAX也是javascript,所以您并没有完全摆脱它。

最后,带有服务器往返的JavaScript (而且AJAX是服务器往返)不会像简单的JavaScript那样直接。

但是-是的。这是代码复制。这是你的交易,你做的任何决定都是有效的,如果你的项目可以接受它。

编辑:修复了一个错误+移动到社区wiki

票数 1
EN

Stack Overflow用户

发布于 2011-03-12 00:26:30

采取相反的立场:

( 1) 5或6个请求不是什么大问题,而是每个用户每个表单的连接数的5或6倍。如果您正在讨论将您的服务器从每天100到600 k连接,最好考虑一下。

3)宽带无处不在,但缓慢和不可靠的无线连接也是如此。根据您如何实现它,表单可能会感到非常笨重。

您确实需要在服务器上重新验证--但这就是您要说的:无论如何,通过ajax重用服务器上的逻辑,而不是在客户机上使用JS复制它。

请注意:一些框架允许您在一个地方声明验证,然后为您生成Javascript (非ajax)和服务器端。我知道JSF (有此功能),我认为.net也有。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5279773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档