使用PHP进行jQuery AJAX表单数据序列化

gom*_*mzy 13 php forms ajax jquery

我被困在我的代码中,我需要将表单中的数据发送到check.php页面然后进行处理.

这是我的代码:

AJAX部分:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var form=$("#myForm");
$("#smt").click(function(){
$.ajax({
        type:"POST",
        url:form.attr("action"),
        data:form.serialize(),
        success: function(response){
            console.log(response);  
        }
    });
});
});
</script>
Run Code Online (Sandbox Code Playgroud)

表格:

<form action="check.php" method="post" name="myForm" id="myForm">
<input type="text" name="user" id="user" />
<input type="text" name="pass" id="pass" />
<input type="button" name="smt" value="Submit" id="smt" />
</form>
<div id="err"></div>
Run Code Online (Sandbox Code Playgroud)

php部分:

$user=$_POST['user'];
$pass=$_POST['pass'];

if($user=="tony")
{
    echo "HI ".$user;   
}
else
{
    echo "I dont know you.";    
}
Run Code Online (Sandbox Code Playgroud)

Har*_*ier 12

试试这个

 $(document).ready(function(){
    var form=$("#myForm");
    $("#smt").click(function(){
    $.ajax({
            type:"POST",
            url:form.attr("action"),
            data:$("#myForm input").serialize(),//only input
            success: function(response){
                console.log(response);  
            }
        });
    });
    });
Run Code Online (Sandbox Code Playgroud)


Alw*_*nny 8

尝试一下,但首先要确定你对服务器的ajax成功响应console.log(响应)是什么

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var form=$("#myForm");
$("#smt").click(function(){
$.ajax({
        type:"POST",
        url:form.attr("action"),
        data:form.serialize(),

        success: function(response){
        if(response === 1){
            //load chech.php file  
        }  else {
            //show error
        }
        }
    });
});
});
Run Code Online (Sandbox Code Playgroud)


小智 6

我只是遇到了同样的问题:您必须在 php 端对数据进行反序列化。

添加到 php 文件的开头(注意这个简短版本将替换所有其他帖子变量):

parse_str($_POST["data"], $_POST);
Run Code Online (Sandbox Code Playgroud)


Ana*_*sad 5

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    var form=$("#myForm");
    $("#smt").click(function(){
        $.ajax({
            type:"POST",
            url:form.attr("action"),
            data:form.serialize(),
            success: function(response){
                console.log(response);  
            }
        });
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

这是完美的代码,没有问题。您必须在 php 脚本中检查这一点。


Che*_*wai 0

更改您的代码如下 -

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var form=$("#myForm");
$("#smt").click(function(){
$.ajax({
        type:"POST",
        url:form.attr("action"),
        data:form.serialize(),

        success: function(response){
        if(response == 1){
              $("#err").html("Hi Tony");//updated
        }  else {
            $("#err").html("I dont know you.");//updated
        }
        }
    });
});
});
</script>
Run Code Online (Sandbox Code Playgroud)

PHP-

<?php
$user=$_POST['user'];
$pass=$_POST['pass'];

if($user=="tony")
{
    echo 1;   
}
else
{
    echo 0;    
}
?>
Run Code Online (Sandbox Code Playgroud)