使用jquery vs php来减少负载

时间:2009-06-10 17:09:35

标签: php jquery ajax

我正在设置注册页面,我主要使用PHP来验证数据。

我意识到使用客户端驱动的语言进行某些验证会减少服务器的工作量。 我对jquery知之甚少,但我正在寻找能够确定电子邮件正确语法的代码(例如,一个'@'而且没有有趣的字符)。

此外,在jquery中是否有一个函数,每次,在某个事件(点击后,在keyup上)之后它会预先形成一个php脚本并显示结果而不重新加载?我正在寻找能够让用户快速反馈更复杂功能的东西(比如查找电子邮件的DNS以确保其真实,检查用户名是否存在等)。

有人能指点我这个资源吗?

4 个答案:

答案 0 :(得分:17)

应该注意的是,永远不应该依赖客户端验证,但应该存在以增强用户体验。您必须在服务器上执行验证,因为客户端代码很容易被绕过。

答案 1 :(得分:9)

你可以在这里找到一个非常广泛使用的jquery验证插件:

http://plugins.jquery.com/project/validate

它包含许多内置的“常用”验证规则,您可以添加自己的验证规则。默认情况下会有电子邮件。

但始终记得始终在服务器端验证。您可以添加客户端验证以提高响应速度,但请记住,恶意用户可以轻松绕过任何javascript验证。

答案 2 :(得分:1)

使用TM提供的答案 - 验证插件并始终验证服务器端。

如何点击事件,ajax到服务器,然后显示一条消息:

$("a.dnscheck").click(function() {

    $.get('http://blah.com/dnscheck.php', 
           { 'email' : $("input.email").val() }, 
           function(data) {
               //called on ajax response
               if(data == 'valid') {
                   //update dom with ok message
               } else {
                   //update dom with bad email message
               }

           });
});

如果您想要更复杂的内容,请参阅http://docs.jquery.com/Ajax

答案 3 :(得分:0)

您需要使用PHP和js进行验证。我看到一些仍在使用iE5的地方/人,在这些情况下我不会相信js。