Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax表单验证的利弊_Javascript_Html_Ajax_Validation_Forms - Fatal编程技术网

Javascript Ajax表单验证的利弊

Javascript Ajax表单验证的利弊,javascript,html,ajax,validation,forms,Javascript,Html,Ajax,Validation,Forms,我发现使用Ajax验证表单对于避免代码重复非常有用。在实现它之前,我感兴趣的是,与简单的javascript验证相比,这种技术是否有任何缺点。我只看到了两个论点,但我认为考虑这些论点是相当薄弱的: 很明显,ajax将增加服务器负载,但每个表单只有5-6个连接,这不应该成为性能瓶颈。 我还看到,js验证可以脱机工作,但由于我们最终需要提交表单,因此没有Internet连接,它就无法工作。 速度也不是问题,因为现在宽带几乎无处不在。 还有其他我没有考虑的论点吗?从用户体验的角度来看,Ajax验证非常

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

很明显,ajax将增加服务器负载,但每个表单只有5-6个连接,这不应该成为性能瓶颈。 我还看到,js验证可以脱机工作,但由于我们最终需要提交表单,因此没有Internet连接,它就无法工作。 速度也不是问题,因为现在宽带几乎无处不在。
还有其他我没有考虑的论点吗?

从用户体验的角度来看,Ajax验证非常好,因为您可以立即得到反馈


需要记住的一点是,即使您使用ajax验证表单,您仍然需要在提交的值到达服务器后重新验证它们,以防止安全漏洞,因为攻击者可以使用类似于curl的东西发送任意值。

从用户体验的角度来看,ajax验证非常好,因为你会得到即时的反馈


需要记住的一点是,即使您使用ajax验证表单,您仍然需要在提交的值到达服务器后重新验证它们,以防止安全漏洞攻击,因为攻击者可以使用类似于curl的东西发送任意值。

如果您只要求

我只是问我是否会验证 用javascript代替ajax的表单 我会得到任何我用ajax做不到的东西吗

然后是否定的。在最后一点,你会得到一个手势,让用户输入错误的内容

然而,我不会轻易忽略服务器负载

每个表单增加5个请求—在服务器上重做表单提交时需要执行的检查—这意味着服务器在表单上的工作量增加了一倍

还要注意,AJAX也是javascript,所以您还没有完全摆脱它

最后,JavaScript与服务器往返,AJAX是服务器往返,不会像简单的JavaScript那样即时

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


编辑:修复了一个打字错误,如果你要求的是

我只是问我是否会验证 用javascript代替ajax的表单 我会得到任何我用ajax做不到的东西吗

然后是否定的。在最后一点,你会得到一个手势,让用户输入错误的内容

然而,我不会轻易忽略服务器负载

每个表单增加5个请求—在服务器上重做表单提交时需要执行的检查—这意味着服务器在表单上的工作量增加了一倍

还要注意,AJAX也是javascript,所以您还没有完全摆脱它

最后,JavaScript与服务器往返,AJAX是服务器往返,不会像简单的JavaScript那样即时

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


编辑:修复了一个打字错误+移动到社区wiki以采取相反的立场:

15或6个请求不是什么大问题,但每个表单中每个用户的连接数是5或6倍。如果您正在谈论将服务器的连接数从每天100k增加到600k,那么最好考虑一下

宽带无处不在,但速度慢且不可靠的无线连接也是如此。根据您如何实现它,表单可能会感觉非常笨拙

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


只是附带说明:一些框架允许您在一个地方声明验证,然后为您生成Javascript非ajax IIRC和服务器端。我知道JSF Java Server Faces有这个功能,我认为.net也有这个功能。

相反:

15或6个请求不是什么大问题,但每个表单中每个用户的连接数是5或6倍。如果您正在谈论将服务器的连接数从每天100k增加到600k,那么最好考虑一下

宽带无处不在,但速度慢且不可靠的无线连接也是如此。根据您如何实现它,表单可能会感觉非常笨拙

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


只是附带说明:一些框架允许您在一个地方声明验证,然后为您生成Javascript非ajax IIRC和服务器端。我知道JSF Java Server Faces有这个功能,我想.net也有。

当然,我只是问我是否会用javascript验证表单,我会得到什么
这是我无法忍受的ajax@Nutel:AJAX涉及Javascript。这就是AJAX中的J所代表的意思。@在硅片中我理解,但它是在客户端执行的,所以如果这有什么好处的话,我很好奇feature@Nutel:哦,那么您是在服务器上执行验证,使用Ajax发送这些值进行验证,而不需要用户重新加载页面?@ Nuteli会考虑在服务器上进行所有验证,如果需要查询数据库或执行需要在服务器上调用组件的其他复杂逻辑。当然,我只是问我是否会用javascript验证一个表单,我会得到我用javascript无法得到的东西吗ajax@Nutel:AJAX涉及Javascript。这就是AJAX中的J所代表的意思。@在硅片中我理解,但它是在客户端执行的,所以如果这有什么好处的话,我很好奇feature@Nutel:哦,那么您是在服务器上执行验证,使用Ajax发送这些值进行验证,而不需要用户重新加载页面?@ Nuteli会考虑在服务器上进行所有验证,如果需要查询数据库或执行需要在服务器上调用组件的其他复杂逻辑。否则,在客户机上进行验证通常已经足够快了。