javascript - PHP POPUP AJAX 查询不起作用

标签 javascript php jquery ajax

这是 View 页面 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;
}

?>

我想从弹出页面提交数据,有成功提醒,但查询不起作用,没有插入数据。

最佳答案

你的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'] 根本不存在。

关于javascript - PHP POPUP AJAX 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46286643/

相关文章:

javascript - 在非悬停元素上模糊

javascript - 如何使用 JS 检测 iPhone 上粘贴的文本?

javascript - 在 Gmail 中获取线程 ID

php - 我无法将 Json 转换为字符串 [OctoberCms]

javascript - 用包含现有段落值的文本区域替换段落

javascript - 获取 window.scrollTo(0, 0);上类

javascript - 如何正确删除 eventListener?

php - 检查字符串是否为 bcrypt 散列的最简单快捷的方法是什么?

javascript - MongoDB 按小时分组

c# - 如何限制用户在多个文本输入中输入重复文本