Ajax Crud返回错误消息

时间:2016-08-10 15:10:53

标签: php ajax

我有一张ajax crud表。当我想编辑和查看(模态弹出正确的信息)时,它工作得很好。现在,当我提交模态以插入新用户时,我从php和ajax得到错误,说没有数据可用但是当我在php中运行var_dump时它显示它们是值。我有一个isset条件来检查是否发布了值,如果它们应该将发布的数据分配给php变量,否则它将错误传递给ajax。

问题是无论我做什么,它总是将条件返回为假,尽管数据被发布

PHP代码

<?php    
var_dump($_POST);
$balance = $nextdate  = $error = $action = $interest_id = "";
$valid = true;
if(isset($_POST['balance']) && empty($_POST['balance']))
{
    $balance = ['balance'];
}
else
{
    $valid = false;
    $error .= "* balance is required.\n";
    $balance = '';

}

if(isset($_POST['nextdate']) && empty($_POST['nextdate']))
{
    $nextdate =$_POST['nextdate'];
}
else
{
    $valid = false;
    $error .= "* date is required.\n";
    $accountnumber = '';
}


if(isset($_POST['interest_id']) && empty($_POST['interest_id']))
{
    $interest_id = $_POST['interest_id'];
}
else
{
  $valid = false;
  $error .= "* email is required.\n";
    $interest_id = "";
}

?>

Ajax代码

if(valid == true)
            {
                var form_data = {
                    balance : balance,
                    nextdate : nextdate,


                    action : action,
                    interest_id : interest_id
                };

                $.ajax({
                    url : "insert.php",
                    type : "POST",
                    data : form_data,
                    dataType : "json",
                    success: function(response){
                        if(response['valid']==false)
                        {
                            alert(response['msg']);
                        }
                        else
                        {
                            if(action == 'add')
                            {
                                $("#add_new_user_modal").modal('hide');
                                html += "<tr class=user_"+response['interest_id']+">";
                                html += "<td>"+response['interest_id']+" </td>";
                                html += "<td>"+response['balance']+" </td>";
                                html += "<td>"+response['nextdate']+" </td>";


                                html += "<td><a href='javascript:void(0);' onclick='edit_user("+response['interest_id']+");'><i class='glyphicon glyphicon-pencil'></i></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0);' onclick='delete_user("+response['bank_id']+");'><i class='glyphicon glyphicon-trash'></i></a></td>";
                                html += "<tr>";
                                $("#usersdata").append(html);
                            }
                            else
                            {
                                window.location.reload();
                            }
                        }
                    }
                });
            }
            else
            {
                return false;
            }
        });

这些是我的var_dump结果

array(4) 
{ ["balance"]=> string(8) "50000.00" 
["nextdate"]=> string(10) "2016-08-18" 
["action"]=> string(4) "edit" 
["interest_id"]=> string(19) "anonymous@gmail.com" }

2 个答案:

答案 0 :(得分:0)

您的测试不正确。您接受空白值。这就是为什么当你有价值时失败。

if(isset($_POST['balance']) && empty($_POST['balance']))

应该是

if(isset($_POST['balance']) && !empty($_POST['balance']))

答案 1 :(得分:-1)

所以我终于明白了,问题是if语句上的'=='add''

原始

if($action=='add')

更改

if($action = 'add')