私はテーブルから行を削除するためにajax呼び出しを行っている小さなサイトに取り組んでいます。私がしたいのは、phpが.success
または.fail
を私のajaxリクエストで起動させるステータスコードを返すようにすることです。エラーステータスコードを返すためのajax
AJAX呼び出し:
function delete_mov(id){
$.ajax("delete_mov.php?id="+id
)
.success(function(){
bootbox.alert("Movimento "+id+" correttamente cancellato");
})
.fail(function(){
bootbox.alert("Problemi a cancellare il movimento "+id);
});
}
とPHP:
try{
$s = $dbh -> prepare("DELETE FROM movimenti_banca WHERE di=$id");
$s -> execute();
}
catch (PDOException $e){
http_response_code(500);
exit;
//$message = $error_message.' '.$e->getMessage();
}
http_response_code(200);
私は何を得ることができないことは.fail
をトリガすることで、私はこの解決策を考え出したが、それは動作していない別の質問を見ると クエリが実行されなかった場合、またはエラーが返された場合私はこの質問が失敗したと確信しています。なぜなら、これを確かめるために、IDの代わりにdiを入れているからです。 呼び出すphpファイルを削除すると、.fail
がトリガーされます。
EDIT:http_response_code
でテストするように修正されましたが、クエリが失敗したときにまだ500ステータスをトリガしません。
EDIT2:デバッグは、私は、クエリがエラーを持っている場合でも(di=$id
はid=$id
でなければなりません)キャッチ部分が入力されていないので、ステータス500はPHPコード、使用の際には
私は私のPHPで取得しようとしているものです。 500ステータスを返す。だから私はhttp_response_codeを使い、知っておいてよかった!ありがとう:) –
私のコードにあなたのソリューションを適用しようとしましたが(編集されたコードを参照してください)、常に200を返します。 –