ho questo codice:AngularJS ngResource cancellare evento non chiamare callback
dogsResource.delete({id: $stateParams.dogId}, angular.noop,
function(value, responseHeaders){
//Success
console.log(value);
console.log(responseHeaders);
},
function(httpResponse){
//Error
console.log(httpResponse);
}
);
La cancellazione è fatto, il problema è che né il successo né errore viene chiamato. Ho anche provato a usare un'istanza (che significa usare $ delete), ma non ha funzionato neanche.
ho provato testare i callback con altri metodi, come ad esempio ottenere
$scope.dog = dogsResource.get({id: $stateParams.dogId}, function(value, res){
console.log(value);
});
E funziona. Non so perché succede, dal momento che il cane viene cancellato dal database.
Grazie
UPDATE
codice dogResource
// Return the dogs resource
.factory('dogsResource', ['$resource', function($resource){
return $resource("http://localhost:5000/dogs/:id",{id: "@id"},{update: {method: "PUT"}});
}])
UPDATE 2
ho trovato l'errore. Era nell'API RESTful (Nodo js). Il metodo non è stato l'invio di tutto per angolare, quindi non richiamata è stata innescata:
//DELETE - Delete a dog with specified ID
exports.deleteDog = function(req, res) {
console.log('DELETE' + req.params.id);
Dog.findById(req.params.id, function(err, dog) {
dog.remove(function(err) {
if(err) return res.status(500).send(err.message);
console.log('Succesfully deleted.');
res.status(200);
})
});
};
Sostituzione res.status(200)
con res.status(200).end()
ottenuto la richiamata attivato.
Grazie a tutti per il vostro tempo.
So che sembra ovvio ma dovrebbe ** angular.noop ** essere lì a tutti? –
@camden_kid Il documento dice che le azioni non http get dovrebbero avere un postData e non ne ho bisogno. A proposito, ho anche provato con null, {} e persino ignorandolo. – CamiloR
Sì, secondo questo http://stackoverflow.com/questions/16579201/angularjs-how-to-handle-success-and-error-call-backs-with-ngresource sei corretto. Ci sono errori nella console? –