테이블에서 행을 삭제하기 위해 아약스 호출을 수행하는 작은 사이트에서 작업하고 있습니다. 내가 뭘하고 싶은 PHP는 내 아약스 요청에 .success
또는 .fail
함수를 트리거하는 상태 코드를 반환하는 것입니다. 다른 질문을 찾고 난이 솔루션을 함께했다하지만 작동하지 않습니다 :아약스가 오류 상태 코드를 반환합니다.
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
를 실행하는 것입니다 쿼리가 실행되지 않거나 오류를 반환 할 때 나는이 질문에 실패했다는 것을 확신하기 위해 내부에 오류 (di 대신 id를 넣었 기 때문에)가 실패했다. 호출 할 PHP 파일을 제거하면 .fail
이 트리거됩니다.
편집 : 내 코드를 수정하여 http_response_code
으로 테스트했지만 쿼리가 실패 할 때 여전히 500 상태를 트리거하지 않습니다.
EDIT2 : 디버깅 내가 쿼리에 오류가있는 경우에도 (di=$id
가 id=$id
해야한다) 캐치 부분은 입력하지 그래서 상태 (500)는 PHP 코드 사용에
정확히 내가 뭘 PHP에서 얻으려고 노력하고 있습니다. 500 상태를 반환합니다. 그래서 저는 http_response_code를 사용해야합니다. 감사합니다 :) –
내 코드에 솔루션을 적용하려고했지만 (편집 된 코드 참조) 항상 200을 반환합니다. 무엇이 누락 되었습니까? –