客户端验证和ajax请求

时间:2017-10-29 07:19:42

标签: javascript ajax validation user-input

我认为客户端验证的唯一优势是它们可以防止重新加载页面。

假设我有一个ajax函数来向php文件发送请求。服务器执行验证,如果发现某些错误,则将它们返回给客户端。接收错误消息的ajax然后将它们输出到浏览器。

我读过有些人在ajax提交之前也会执行客户端验证。如果我可以从服务器返回数据而不重新加载,为什么这是必要的?不是ajax够吗?

3 个答案:

答案 0 :(得分:1)

在客户端验证中,您可以通过在浏览器级别快速响应来提供更好的用户体验。执行客户端验证时,在用户的浏览器本身中验证的所有用户输入。客户端验证不需要往返服务器,因此网络流量将帮助您的服务器更好地运行。这种类型的验证是在浏览器端使用JavaScript,VBScript或HTML5属性等脚本语言完成的。

例如,如果用户输入无效的电子邮件格式,您可以在用户移动到下一个字段之前立即显示错误信息,因此用户可以在提交表单之前更正每个字段。

主要是客户端验证依赖于JavaScript语言,因此如果用户关闭JavaScript,它可以轻松绕过并向服务器提交危险输入。因此,客户端验证无法保护您的应用程序免受对服务器资源和数据库的恶意攻击。

由于两种验证方法都有其自身的意义,因此建议服务器端验证更安全!

答案 1 :(得分:1)

Ajax就足够了,但是你说你有一个很大的内容,有大量的内容可以发布,如果有问题,它将在服务器提供请求和验证后无法提交。我认为这是对服务器资源的浪费。因此,在这种情况下,最好添加一些客户端验证。

答案 2 :(得分:0)

不是必需的,但具有专业优势:

  • 用户友好度:

    • 立即警告用户,无需重新加载
    • 用户熟悉自己的浏览器及其通知每个字段的方式
  • 其他优势:

    • 没有额外的服务器页面加载
    • 您可以使用:invalid CSS(并在服务器页面上重复使用它以进行无效验证)
    • 您可以最大程度地减少服务器无效的响应代码,因为客户端可以执行所有检查,而不必重新通知(因为用户友好)。

尽管黑客,微调程序和API用户始终可以进行服务器验证,但可以绕过客户端验证。