使用ajax将JavaScript参数传递给PHP
我需要能够发送一个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
<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"/>