将jQuery值传递给PHP函数


Pass jQuery value to PHP function

我试图创建重力自动加载,而用户正在写他的电子邮件在一个表单字段。现在,我有了php函数,这将产生重力url与所需的参数,它的工作在整个网站。

现在,当用户输入有效的电子邮件时,我应该调用jQuery:
image.attr("src", "<?=$this->Gravatar(" + input.attr('value') + ");?>");

但是可以将这个参数传递给PHP函数吗?

您将需要jQuery的ajax()功能。在你的JavaScript中,你需要看到外部PHP脚本的值。

jQuery:

$('.email').keyup(function() {
   $.ajax({
     type: "POST",
     url: "/path/to/your/script.php",
     data: { email: this.value }
   }).done(function( data ) {
     alert( data );
   });
});
PHP:

if (isset($_POST['email'])) {
    // DB call - you'll need to replace with your own functionality
    // Make sure you sanitize input
    if (check_record_exists($_POST['email'])) {
       echo 'This e-mail is already being used';
    } else {
       echo 'This e-mail is fine';
    }
} else {
   echo 'No e-mail specified';
}

如果我理解得好,你想做以下事情:

  • 用户输入一个有效的email
  • 从PHP函数中获取Gravatar而不需要额外的请求

如果不向服务器发出任何请求,您实际上无法执行此操作,但是您可以采用更简单的方法

准备一个网关脚本来调用PHP函数并发送一个参数get应该看起来像这样:

http://YOUR-FULL-URL/getgravatar?email=use-email@example.com

当用户输入电子邮件时,你可以这样获取它

image.attr("src", "http://YOUR-FULL-URL/getgravatar?email=" + input.val() );

之类的避免使用Ajax直接调用