使用Javascript调用PHP类函数


Call PHP Class Function using Javascript

我想使用javascript将表单数据发布到数据库中。这是我的密码。

index.php

    <form action="" method="post"><input name="fname" placeholder="Name*" type="text" id="fname" required /><br/><input name="femail" placeholder="Email*" type="email" id="femail" required /><br/>
<input type="submit" value="Send Message" onclick="sendOutgoingValue();" /></form>

javascript

 <script type=text/javascript>
function sendOutgoingValue(){  
name = document.getElementById("fname").value;  
email = document.getElementById("femail").value;  
myClass.extractIncomingParms(val, email, {  
});
}
</script>

联系人数据.php

<?php
$myclass=new ContactData();
class ContactData{
private $name;
private $email
public function extractIncomingParams($name,$email){
$fname = ($this->name, $name); 
$femail = ($this->email, $email); 
}
}
?>

您不能在java脚本中调用php类方法

index.php更改为(此代码使用JQuery):

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script language="javascript" type="text/javascript">
        $(function(){
            $("#login").click(function(){
                var faname = $("#fname").val();
                var femail = $("#femail").val();
                $.post( "login.php", { faname: faname, femail: femail })
                    .done(function( data ) {
                        $("#res").html(data);
                    });
                e.preventDefault();
            });
        });
    </script>
</head>
<body>
<form action="login.php" method="post">
    <input name="fname" placeholder="Name*" type="text" id="fname" required /><br/>
    <input name="femail" placeholder="Email*" type="email" id="femail" required /><br/>
    <input type="submit" value="Send Message" id="login" />
</form>
<div id="res"></div>
</body>
</html>

创建login.php:

您可以在login.php中使用ContactData类,并从$_POST 中获取您的姓名和fname

<?php
    include "ContactData.php";
    if(isset($_POST['fname'],$_POST['femail'])){
        $myclass = new ContactData();
        $myclass->extractIncomingParams($_POST['fname'],$_POST['femail']);
        echo "wellcome ".$_POST['fname']." ".$_POST['femail'];
    }else{
        echo "user name and password not set !";
    }
?>

请注意,Javascript在浏览器上运行,而PHP在服务器上运行,因此它们无法直接通信。这是一件好事!

您将需要创建一个PHP页面来处理来自Javascript的请求。一旦准备好,您的Javascript将需要序列化表单上的数据,并将其发布到该页面。

简而言之,您当前的解决方案缺少处理浏览器请求的层。

看看这篇文章,它是对基础知识的一次很好的演练。使用PHP 进行Ajax开发的初学者指南