ciao a tutti ,
premetto che sono nuovo di angular e php ma non riesco a capire come funziona la gestione degli errori in una richiesta http.post, mi spiego.... ho questo codice


codice:
$scope.NewProgram = function () {
        
                $http.post("ws/api.php?rquest=NewProgram")
                
                .success(function (data) {
                                    alert(data);
                    //document.location.href = 'program.php';
                })
                .error(function (data) {                    
                    alert(data)
                });
        
    
        };
ed il web services in php

codice:
$db = new SQLite3('database');
$sql= 'miaquery';
        $result = $db->exec($sql);                
        
            if ($result) {
                $status = "Ok";
                $code = 200;
                $m= "Program created!";
                $data = array('status' => $status, "msg" => $m);
                
            }    else {              
                $status = "Internal Server Error";
                $code = 500;                                
                $msg = error_get_last();
                $error = $msg['message'];
                $data = array('status' => $status, "msg" => $error);        
            }
        


        $db->close();
        $this->response($this->json($data), $code);


ora... se metto ad esempio il database in sola lettura mi va in errore
e mi va in questo blocco js

codice:
error(function (data) {                    
                    alert(data)
                });
ma il "data" è undefined ... mentre nel web services io lo imposto correttamente
dove sbaglio ?

Grazie a tutti per le gentili risposte.