Ich bin neu in Winkel- und MEAN Stapeln, und vor diesem, fragte ich eine Frage hier: Angular Routing ngRoute fails to pull my other HTML fileshttp Funktion undefiniert auf Winkel
Grundsätzlich habe ich nicht richtig mein app-Routing eingestellt und die Lösung Ich muss meinen Link zu # ändern! von #, und jemand dort hat gesagt, dass es durch das Brechen der Änderung in Angular 1.6 verursacht wurde, vorher hatte ich eine funktionierende Implementierung, aber es war keine richtige Einseiten-App, da es nicht nur den passenden HTML der App zog. Okay, jetzt kann ich die App ansehen und navigieren.
Dann lief ich in ein anderes Problem, wenn ich mit der App zu kommunizieren versucht, die mich angeblich in die App registriert, wenn ich auf den Button auf meiner HTML-Seite
<form class="form-auth" ng-submit="register()">
<h2>Register</h2>
<p class="text-warning">{{error_message}}</p>
<input type="username" ng-model="user.username" placeholder="Username" class="form-control"><br>
<input type="password" ng-model="user.password" placeholder="Password" class="form-control"><br>
<input type="submit" value="Register" class="btn btn-primary" />
geklickt habe ich eine Fehler auf dem Konsolenprotokoll, sagen
Error: $http.post(...).success is not a function
at b.$scope.register (iotApp.js:73)
at fn (eval at compile (angular.js:15152), <anonymous>:4:144)
at e (angular.js:26673)
at b.$eval (angular.js:17958)
at b.$apply (angular.js:18058)
at HTMLFormElement.<anonymous> (angular.js:26678)
at bg (angular.js:3613)
at HTMLFormElement.d (angular.js:3601)(anonymous function) @ angular.js:14324(anonymous function) @ angular.js:10834$apply @ angular.js:18063(anonymous function) @ angular.js:26678bg @ angular.js:3613d @ angular.js:3601
Dies ist der Teil des Codes ist von der Konsole angezeigt, wo der Fehler
app.controller('authController', function($scope, $http, $rootScope, $location){
$scope.user = {username: '', password: ''};
$scope.error_message = '';
$scope.login = function(){
$http.post('/auth/login', $scope.user).success(function(data){
if(data.state == 'success'){
$rootScope.authenticated = true;
$rootScope.current_user = data.user.username;
$location.path('/');
}
else{
$scope.error_message = data.message;
}
});
};
$scope.register = function(){
$http.post('/auth/signup', $scope.user).success(function(data){
if(data.state == 'success'){
$rootScope.authenticated = true;
$rootScope.current_user = data.user.username;
$location.path('/');
}
else{
$scope.error_message = data.message;
}
});
};
});
Ich habe einige der anderen Antworten gelesen, aber die meisten von ihnen haben versehentlich die Abhängigkeit in die Methodenparameter gesetzt, in denen der Controller bereits importiert ist. Es funktioniert gut, wenn ich den Advanced REST Client verwende, der eine Chrome-Erweiterung ist, um eine Registrierungsanforderung manuell zu senden, aber nicht, wenn ich die App verwende. Jede Hilfe oder nur allgemeine Hinweise würden geschätzt. Vielen Dank!
.success ein paar Versionen zurück veraltet wurde, versuchen 'mit' .then() statt – Fissio
Dank! Es funktioniert jetzt. Die meisten meiner Codes funktionierten nicht, weil ich einem alten Tutorial auf dem MEAN-Stack folgte. @Fissio – blueblood