【问题标题】:submit a form with php and provide response to user with ajax使用 php 提交表单并使用 ajax 向用户提供响应
【发布时间】:2012-07-30 15:57:02
【问题描述】:

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

例如,如果 php echo 为 == 1,则 alert("Your account has been created");如果 echo 为 == 2,则 alert("一个帐户已注册到该电子邮件地址");等等等等

我通过查看示例获得了一些有限的 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();
        }

    });
});

【问题讨论】:

  • 您的问题表明需要更深入地了解 PHP、javascript 和 AJAX 之间的关系,这应该在 SO 之外进行研究。
  • 你将什么数据传递给 createaccount2.php?
  • "...那可能是不正确的。"你真的尝试过吗?

标签: php javascript jquery ajax


【解决方案1】:

我不确定您到底需要什么,但我看到“数据:”是空的,您可以使用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:未测试!)

【讨论】:

    猜你喜欢
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 2012-06-26
    • 2017-12-25
    • 2018-02-01
    • 1970-01-01
    相关资源
    最近更新 更多