我有一个调用PHP脚本的jQuery的AJAX调用,然后将一些JSON格式的信息返回给success
或error
函数,如下所示:
$.ajax({
url: 'crud/clients.php',
dataType: 'json',
type: 'POST',
data: {
oper:'add'
,id:''
,clientID:$('#clientID_add').val()
},
async: false,
success: function(data){
alert(data.errorsExist);
},
error: function(data){
alert(data.appError);
}
});
以下是调用的PHP脚本:
try {
// Begin a transaction, turning off autocommit
$dbh->beginTransaction();
// Client INSERT
$sthClients->execute($crudColumnValues);
// Get the ID from the client we just INSERTED
$lastInsertID = $dbh->lastInsertId();
// Activity INSERT
$sthActivity->execute();
// commit the queries
$dbh->commit();
}
catch (PDOException $e) {
// Close the connection
$dbh = null;
// Echo back JSON
echo '{"appError": "'.$e->getMessage().'", "errorsExist":"Y"}';
// rollback the transaction
$testing = $dbh->rollBack();
exit();
}
当我在IDE中测试错误处理并调试我的代码时,PHP文件在rollBack();
调用时停止,并且在回滚后我的JSON永远不会回到我的AJAX调用。
当调用rollBack
时,有没有办法将JSON返回给我的AJAX函数?
答案 0 :(得分:3)
也许是因为:
// Close the connection
$dbh = null;
.....
$testing = $dbh->rollBack(); // $dbh is null