PHP POPUP AJAX查询无法正常工作

时间:2017-09-18 19:16:35

标签: javascript php jquery ajax

这是viewpage js代码:

$('#insertbarang').on('click',function(){
                var form = $('#form_insert_barang').serializeArray();
                form.push({name: "key",value:"insertbarang"});
                $.ajax({
                    url:"/ajax/ajax.php",
                    type:"POST",
                    data:form,
                    success:function(msg){
                        console.log(msg);
                        alert("success");
                    },
                    error:function(msg){
                        console.log(msg);
                        alert("error");
                    }
                });
            });

这是ajax文件:

    <?php  

include("../pages/mod/connect.php");

$pass = false;
$post = $_POST;

switch ($post['key']) {
    case "insertbarang":

        $result1 = executeQuery("select qty from msbarang where idbarang='".$post['idbarang']."'");

        $row=mysqli_fetch_array($result1);

        if($row[0]-$post['qty']>=0){

        $row[0]=$row[0]-$post['qty'];

        unset($post['key']);
        $q = "START TRANSACTION;";
        $q .= "INSERT INTO `trbarang` SET idbarang = '".$post['idbarang']."', qty = '".$post['qty']."', harga='".$post['harga']."', status = '".$post['status']."';";
        $q .= "Update msbarang set qty='".$row[0]."' where idbarang='".$post['idbarang']."';";
        $q .= "COMMIT;";


        if($data = executeQuery($q)){
            $pass = true;
        }

        }


        break;
    default:
        break;
}



if($pass){
    echo json_encode($data);
}else{
    return false;
}

?>

我想从弹出页面提交数据,但是有成功提醒,但查询无效,没有插入数据。

1 个答案:

答案 0 :(得分:1)

您的PHP代码

if($pass){
    echo json_encode($data);
}else{
    return false;
}

将始终返回成功的HTTP响应,因此ajax调用将成功。

您应该执行类似

的操作
echo json_encode(array('passed' => $pass, 'data' => $data));

并检查ajax成功传递。

同时检查$post中的内容,似乎这篇文章form.push({name: "key",value:"insertbarang"});将生成['name' => 'key', 'value' => 'insertbarang']而不是['key' => 'insertbarang'],因此$post['key']不存在一点都不。