使用php提交表单,并使用ajax向用户提供响应


submit a form with php and provide response to user with ajax

im正在创建一个网站,我想知道如何允许ajax提交表单数据,而不是html操作。我编写了一个php脚本,它可能会回应几个结果中的一个,并基于这个回应,让ajax提醒php脚本执行了什么操作。

例如,如果php-echo为==1,则alert("您的帐户已创建");如果echo为==2,则发出警报("帐户已注册到该电子邮件地址");等等

我从示例中获得了一些有限的ajax经验,并且创建了一个可能不正确的非常基本的函数。只是想知道ajax专家是否可以为我填写详细信息,这样我就可以拥有这个功能。它是这样的:

$("#createaccount").submit(function(){
    $.ajax({
    type: POST,
    url: "createaccount2.php",
    data: 
    success: function(server_response){
        if(server_response == 0){
            alert();
        }
        else if(server_response == 1){
            alert();
        }
        else if(server_response == 2){
            alert();
        }
        else if(server_response == 3){
            alert();
        }
    });
});

我不确定您到底需要什么,但我看到"data:"是空的,您可以使用serialize将表单中的所有输入数据发布到php,如下所示:

这是一个测试表格:

<form id="createaccount">
<input type="text" name="a" id="a">
<input type="submit" value="Submit">
</form>

这是您的javascript部分:

$("#createaccount").submit(function(){
    $.ajax({
    type: POST,
    url: "createaccount2.php",
    data: $("#createaccount").serialize(),
    success: function(server_response){
        if(server_response == 0){
            alert('HELLO');
        }
        else if(server_response == 1){
            alert('WORLD');
        }
        else if(server_response == 2){
            alert('AAAA');
        }
        else if(server_response == 3){
            alert('zzZzZzZ');
        }
    });
});

然后在php中,您可以通过$_POST变量访问数据:

<?php
$a=$_POST['a'];
if($a=='hello'){
    echo "0";
}elseif($a=='world'){
    echo "1";
}else{
    echo "2";
}
?>

如果您输入"hello"并将其提交到php,它将回显"0"并显示"hello"
(ps:未测试!)