这是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;
}
?>
我想从弹出页面提交数据,但是有成功提醒,但查询无效,没有插入数据。
答案 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']
不存在一点都不。