TypeError: Erfolg ist keine Funktion
Kann mir jemand helfen um dieses Problem.
In der Tat bin ich versucht, die Registrierung eines neuen Benutzers und vor dem erstellen eines neuen ich habe, um zu überprüfen, ob der Benutzername existiert oder nicht. unten ist die Fabrik verwendet werden.
.factory('accountService', function($resource, sessionService) {
var service = {};
service.register = function(account, success, failure) {
if (success (service.userExists(account))){
failure();
} else {
var Account = $resource("/Test/rest/account/student");
Account.save({}, account, success, failure);
}
};
service.userExists = function(account, success, failure) {
var Account = $resource("/Test/rest/account");
var data = Account.get({
username : account.username,
password : account.password
}, function() {
var accounts = data.username;
if (accounts && accounts.length !== 0) {
service.data = data;
success(account);
} else {
failure();
}
}, failure);
};
service.getuser = function() {
return service.data;
};
return service;
})
aber wenn ich es laufen lasse, bekomme ich diese Fehlermeldung:
TypeError: Erfolg ist nicht eine Funktion
unten ist der controller, der dieses Werk
.controller(
"RegisterController",
function($scope, sessionService, $state, accountService) {
$scope.register = function() {
accountService.register($scope.account, function(
returnedata) {
sessionService.login($scope.account).then(
function() {
$state.go("home");
});
}, function() {
$scope.registererror = function() {
}
});
};
})
Sie brauchen noch mehr Informationen, damit wir Ihnen helfen können. Beste Weg, um erstellen Sie einige Fiddle oder Plunker, um das problem einzugrenzen.
Wie werden Sie Ihren code ausführen? wir sehen das Werk und würde gerne wissen, was die den Fehler produziert
wenn Sie den Verstärker zum service bringen.userExists(Konto), Sie sind nicht vorbei an Ihrem Erfolg und Misserfolg Rückruf erwartet wird, das in der userExists-Funktion definition. Das ist, warum Sie immer Fehler "Erfolg" nicht definiert. Haben Sie definiert diese in einigen anderen Codes, die Sie haben, die hier nicht erwähnt?
das problem ist die if-Bedingung, die einen Fehler generiert, als Erfolg() ist keine Funktion.
Nein, das ist mein problem; Soll ich es definieren in der userExists-Funktion oder in einem anderen Ort? können Sie mir helfen, mich zu setzen. vielen Dank im Voraus.
Wie werden Sie Ihren code ausführen? wir sehen das Werk und würde gerne wissen, was die den Fehler produziert
wenn Sie den Verstärker zum service bringen.userExists(Konto), Sie sind nicht vorbei an Ihrem Erfolg und Misserfolg Rückruf erwartet wird, das in der userExists-Funktion definition. Das ist, warum Sie immer Fehler "Erfolg" nicht definiert. Haben Sie definiert diese in einigen anderen Codes, die Sie haben, die hier nicht erwähnt?
das problem ist die if-Bedingung, die einen Fehler generiert, als Erfolg() ist keine Funktion.
Nein, das ist mein problem; Soll ich es definieren in der userExists-Funktion oder in einem anderen Ort? können Sie mir helfen, mich zu setzen. vielen Dank im Voraus.
InformationsquelleAutor Mohamed NAOUALI | 2015-05-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute, der Fehler ist in dieser Zeile
Ihre Signatur der Methode ist
dann also Sie nennen es "Erfolg" nicht definiert wird in diesem Fall und
diese Linie inside " - service.userExists"
wirft einen Fehler
Hier wird geschrieben rund Beispiel, wie man diesen Fehler vermeiden, indem Sie sich Notizen über änderungen. Wir müssen unterscheiden zwischen Fehler und user-Dasein, habe ich gerade geändert returnData in "success" auf "true/false" für den Willen ein Beispiel.
})
Ich fügte hinzu, ändert sich zu "accountService" auf meine Antwort. Bearbeitet beide registrieren und userExists Methoden.
InformationsquelleAutor koyaanisqatsi
...
Aufruf einer 3 Methode param mit nur einem param.
InformationsquelleAutor Pierre Gayvallet
hier das script aufrufen möchte die Funktion Erfolg(param). So haben Sie, um zu definieren, den Erfolg () - Methode oder die Sie benötigen, um zu überprüfen, es durch einen anderen Weg. es sollte so Aussehen
die Sie wirklich brauchen, zu kümmern, was, die Sie anrufen ->
InformationsquelleAutor messerbill
und für die controller:
InformationsquelleAutor Mohamed NAOUALI