Controller.jsvorbei Fehlermeldung aus dem Dienst an den Controller in AngularJS
var vm = this;
vm.admin = {};
vm.add = function() {
API.addAdmin(token, vm.admin)
.then(function (resp) {
vm.hideForm = true;
vm.showButton = true;
Notify.green(resp);
}, function (resp) {
Notify.red(resp);
});
};
api.js
function addAdmin(token, dataObj) {
return Constant.getApiUrl()
.then(function (url) {
$http({
method: 'POST',
url: url + '/client/admin',
headers: {
'Token': token
},
data: dataObj
}).then(handleResp);
function handleResp(resp) {
var responseStatus = (resp.status >= 200 && resp.status < 300) ? 'good' : 'bad';
if (responseStatus === 'good') {
console.log("Success" + resp);
return resp;
} else {
console.log("Failed" + resp);
return resp;
}
}
})
}
Wenn ich eine Erfolgsantwort in API erhalten dann ich brauche um es mit Erfolgsfunktion in meinem Controller zu verbinden und wenn ich Fehlermeldung in meiner API bekomme, dann brauche ich es, um es mit der Fehlerfunktion in meiner Kontrolle zu verbinden Wie sollte ich den Antwortstatus von meiner API aus bewerten (ist entweder Erfolg oder Fehler).
Ich möchte nicht successfn, errorfn von meinem Controller an API übergeben (nur wenn es keine Alternative gibt).
Ich brauche die Antwortdaten von API zu Controller, um es in Notify Nachricht zu zeigen.
Vielen Dank!
angular.module('appname').service('myserviceName', function(yourExistingService){
this.myFunction= function(originalData) {
//for next line to work return promise from your addAdmin method.
var promise = yourExistingService.getResponseFromURL(originalData);
return promise;
}
});
Und in Ihrem Controller:
Hallo @Amit, die Funktionalität ist die gleiche wie meine, ich muss entweder Erfolg oder Misserfolg ** im Versprechen ** unterscheidet es von Service zu Controller zurück, danke –