我有一个使用 jQuery 的 AJAX 调用,它调用一个 PHP 脚本,然后将一些 JSON 格式的信息返回给success
orerror
函数,如下所示:
$.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 调用中。
有什么方法可以在调用 a 时将该 JSON 返回到我的 AJAX 函数rollBack
?