A .successsintaxe estava correta até o Angular v1.4.3.
Para versões até o Angular v.1.6, você deve usar o thenmétodo. O then()método leva dois argumentos: ae successum errorretorno de chamada que será chamado com um objeto de resposta.
Usando o then()método, anexe uma callbackfunção ao retornado promise.
Algo assim:
app.controller('MainCtrl', function ($scope, $http){
$http({
method: 'GET',
url: 'api/url-api'
}).then(function (response){
},function (error){
});
}
Veja a referência aqui.
Shortcut métodos também estão disponíveis.
$http.get('api/url-api').then(successCallback, errorCallback);
function successCallback(response){
//success code
}
function errorCallback(error){
//error code
}
Os dados que você recebe da resposta devem estar em JSONformato.
JSON é uma ótima maneira de transportar dados e é fácil de usar no AngularJS
A principal diferença entre os 2 é que a .then()chamada retorna a promise(resolvido com um valor retornado de a callback), enquanto .success()é a forma mais tradicional de registro callbackse não retorna a promise.