调用PHP函数并传递JavaScript变量

时间:2013-06-04 19:03:10

标签: php javascript html5

我正在尝试构建用户单击按钮的Web应用程序,并提示他们使用这样的JavaScript提示功能输入电子邮件地址。

function mail_me(x)
{
        var person = prompt('Please enter your email Address','emailme@me.com');

}

比我想在我的JavaScript中调用PHP函数并传递person作为该PHP函数的参数。有可能做到这一点。到目前为止我已经尝试过了。

function mail_me(x)
{
        var person=prompt('Please enter your email Address','emailme@me.com');
            alert('<?php mail_tome('person'); ?>');
}

3 个答案:

答案 0 :(得分:4)

不可能,PHP在服务器上处理,而Javascript在服务器完成后在客户端呈现。

您需要使用Ajax获取person的值,并通过ajax将其传递回服务器上的php脚本,然后处理您的请求。

http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:1)

这样的事情是不可能的。 PHP在服务器上执行,结果传递给浏览器。

但是,您可以使用AJAX将变量发送到服务器。例如:

var a = new XMLHttpRequest();
a.open("POST","/path/to/script.php",true);
a.onreadystatechange = function() {
    if( this.readyState != 4) return;
    if( this.status != 200) return alert("ERROR "+this.status+" "+this.statusText);
    alert(this.responseText);
};
a.send("email="+person);

这将导致浏览器的PHP脚本echo显示在alert中。当然,您可以根据需要自定义此项,这只是一个基本示例。

答案 2 :(得分:0)

你需要一些叫做AJAX的东西。如果您知道并使用JQuery,它就具有AJAX的内置功能。<​​/ p>

示例:

function mail_me() {
  var person = prompt('Please enter your email Address','emailme@me.com');
  $.ajax({
    type: 'post',
    url: URL TO YOUR SCRIPT,
    data: {
       email: EMAIL_VARIABLE
    },
    success: function(result) {
        //handle success
    }
  });
}