Ich habe eine Login-Seite für die Authentifizierung erstellt. Basierend auf dem Ergebnis der Authentifizierung wird es auf verschiedene Seiten umgeleitet.
//controller.js
app.controller("LoginCtrl", ['$scope', '$location', 'loginFactory', function($scope, $location, loginFactory){
$scope.authenticate = function() {
loginFactory.login($scope.username, $scope.password)
.then(function(response) {
$location.path('/home');
}, function errorCallBack(response) {
console.log("Failed auth");
$location.path('/login');
});
}
}]);
Die Anwendung in der folgenden config.js zusammen mit Routing definiert ist. //config.js
var app = angular.module('ristoreApp', ['ngRoute']);
app.config(function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
.when('/', {
redirectTo: '/home'
})
.when('/login', {
templateUrl: 'views/login.html',
controller: 'LoginCtrl'
})
.when('/home', {
templateUrl: 'views/home.html',
})
.otherwise({
redirectTo: '/login'
});
});
Die Struktur der Dateien:
root/
js/ -- config.js
-- authentication/ -- controller.js
views/ -- home.html
-- login.html
Wenn ich das Login-Formular einreichen, statt zu der Umleitung "http://127.0.0.1:8081/views/login", leitet es auf "http://127.0.0.1:8081/views/login#/login". Plus "http://127.0.0.1:8081/login" liefert 404.
I node.js unter root starten. Auf der Registerkarte "Netzwerk" in Chrome wird angezeigt, dass "config.js" geladen ist. Warum funktioniert das Routing nicht?
Ich habe '$ locationProvider.html5Mode (true); 'in config hinzugefügt und' 'in jeden html eingefügt. Nun wird auf "http://127.0.0.1:8081/home" umgeleitet, aber "views/home.html" wird nicht geladen. –
ddd
Wo ist Ihre app.js oder was auch immer Sie diese Datei oben genannt haben? Wenn es sich in einem Ordner befindet, müssen Sie die Vorlagen-URL ändern. Klingt wie Ihre Vorlage wird nicht korrekt geladen, da der Pfad falsch ist. – Dylan
Die Datei ist config.js in js/Ordner. Siehe meine Ordnerstruktur im ursprünglichen Post. – ddd