使用ajax将JavaScript参数传递给PHP

使用ajax将JavaScript参数传递给PHP,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我需要能够发送一个JavaScript变量到PHP函数。我能够让它为硬编码的值工作,比如下面的代码 <button onclick="submitform()">Click me</button> <script> function submitform(){ document.write(' <?php send_mail('hello'); ?> '); } </script> <?php

我需要能够发送一个JavaScript变量到PHP函数。我能够让它为硬编码的值工作,比如下面的代码

<button onclick="submitform()">Click me</button>
<script>
    function submitform(){
      document.write(' <?php send_mail('hello'); ?> ');
    }
</script>

<?php
    function send_mail($subject){
        //$subject => 'hello'
        //Do something with subject
    }
?>
点击我
函数submitform(){
文件。写(“”);
}

但是,我不能用变量替换硬编码的值。我还想找到另一种方法来发出PHP函数调用。我相信解决方案在于ajax请求。我找不到一种直接嵌入PHP代码的方法,就像现在这样。所有其他的例子我都无法工作。如果可能的话,我也希望有一个演示。谢谢

您可以使用以下表单进行操作:

 <form action="send_mail.php" method="post">
         <input type="text"  id="mail" name = "mail">
        <input type="submit" class="btn" value="Send Mail">
    </form>
然后在send_mail.php页面中,您可以执行以下操作:

 if(isset($_POST['action']) && !empty($_POST['action'])) {
        $action = $_POST['action'];
    $mail = $_POST['mymail'];

        switch($action) {
            case 'sendEmail' : send_email();break;
            // ...etc...
        }
    }
相同页面调用的演示:

<?php

if(isset($_GET['action'])=='myfunc') {
    echo  "Hello";
}
?>

<form action="?action=myfunc" method="post">
    <input type="text"  id="mail" name = "mail">
    <input id="clickMe" type="submit" value="clickme"/>


我必须将PHP嵌入HTML代码本身。使用ajax方式,我如何用
/
替换url?我还需要任何ajax导入吗?您可以使用我仍然无法在同一页面上使用表单版本或ajax版本。根据我在同一页面上收集的在线信息,应该在ajax请求中不包含url来处理PHP。这不起作用,也不包括实际的URL。你能包括一个演示吗?我已经添加了一个演示你现在可以试试新的演示了
<?php

if(isset($_GET['action'])=='myfunc') {
    echo  "Hello";
}
?>

<form action="?action=myfunc" method="post">
    <input type="text"  id="mail" name = "mail">
    <input id="clickMe" type="submit" value="clickme"/>