1

我正在尝试在用户在表单字段中写他的电子邮件时创建 gravatar 自动加载。现在,我有了 php 函数,它将生成带有所需参数的 gravatar url,它可以在整个网站上运行。

现在,当用户输入有效的电子邮件时,我应该调用 jQuery:

image.attr("src", "<?=$this->Gravatar(" + input.attr('value') + ");?>");

但这是否可以将此参数传递给 PHP 函数?

4

2 回答 2

4

您将需要 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';
}
于 2013-01-20T12:17:01.123 回答
0

如果我理解得很好,您想执行以下操作:

  • 用户输入有效的电子邮件
  • 从 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 和直接的 AJAX 调用

于 2013-01-20T12:23:53.727 回答