使用jquery与php减少负载

使用jquery与php减少负载,php,jquery,ajax,Php,Jquery,Ajax,我正在设置一个注册页面,我主要使用PHP来验证数据 我已经意识到,使用客户机驱动的语言进行一些验证将减少服务器的工作量。 我对jquery没有太多的了解,但我正在寻找能够确定电子邮件正确语法的代码(例如,一个'@',并且没有有趣的字符) 此外,jquery中是否有一个函数,每次在某个事件(单击、键控)后,它都会执行一个php脚本并显示结果而不重新加载?我正在寻找一些可以让我给用户快速反馈更复杂功能的东西(比如查找电子邮件的DNS以确保其真实性,检查用户名是否存在等) 有人能给我指出这方面的资源吗

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

我已经意识到,使用客户机驱动的语言进行一些验证将减少服务器的工作量。 我对jquery没有太多的了解,但我正在寻找能够确定电子邮件正确语法的代码(例如,一个'@',并且没有有趣的字符)

此外,jquery中是否有一个函数,每次在某个事件(单击、键控)后,它都会执行一个php脚本并显示结果而不重新加载?我正在寻找一些可以让我给用户快速反馈更复杂功能的东西(比如查找电子邮件的DNS以确保其真实性,检查用户名是否存在等)


有人能给我指出这方面的资源吗?

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

应该注意,客户端验证不应该依赖,而应该存在以增强用户体验。您必须在服务器上执行验证,因为客户端代码很容易规避。

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

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


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

这里有一个非常广泛使用的jquery验证插件:

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


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

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

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

使用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
               }

           });
});

查看是否需要更复杂的内容。

使用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
               }

           });
});

看看是否需要更复杂的内容。

当然是这样,没有服务器端验证,您永远不应该离开。然而,拥有clientside通常可以更容易地向用户指出错误,并使页面对使用更具响应性。+1永远不会依赖于任何黑暗面。这是不可信的。值得注意的是,如果您在数据验证例程中遇到问题/性能下降,您应该分析这些例程并在那里找到问题所在,因为验证通常根本不是一项“昂贵”的任务。毫无疑问,您决不能没有服务器端验证。然而,拥有clientside通常可以更容易地向用户指出错误,并使页面对使用更具响应性。+1永远不会依赖于任何黑暗面。这是不可信的。值得注意的是,如果数据验证例程出现问题/性能下降,您应该分析这些例程并找出问题所在,因为验证通常根本不是一项“昂贵”的任务。