2017-01-03 2 views
2

Wenn ich index.html seine Eröffnung, aber auf den Absenden-Button in Login-Seite ich brauche es auf eine andere Seite umleiten, so dass die Validierung geschieht auf der umgeleiteten Seite und es zeigt etwas an.Login-Anwendung - Umleiten zu einer anderen Seite auf klicken Sie auf Senden Schaltfläche

Angenommen, die Login-Seite mit dieser URL Taste

http://localhost:51499/index.html 

I Anmeldeinformationen ein und klicken Sie anschließend auf öffnet. Ich brauche es, um zu einer anderen URL umzuleiten, um die Validierungen dort zu machen und Erfolgsmeldung zu werfen. Momentan klickt beim Senden der Schaltfläche auf eine leere Seite, aber nicht auf die nächste URL.

Mein Winkelcode:

 angular.module('Project', []) 
      .controller('loginCtrl', ['$scope', '$http','$location', function ($scope, $http) { 
       $scope.login = function (emailId, password) { 

        var uri = 'http://localhost:64367/api/Project/ValidateLogin/' + emailId + "/" + password; 

        $http.get(uri).then(function (data) { 

          if(data) 
          { 
    $location.path("/forgotpassword"); 

           } 
          else { 
           alert("Error!!!"); 
          //return; 
          } 
        }); 

       } 
        }]) 

Strecke Config-Code ist hier:

var mainApp = angular.module('Project', [ 'ngRoute']); 


// configure our routes 
mainApp.config(['$routeProvider', 
    function ($routeProvider) { 
     //In the above configuration, when user is idle for 900s (does not move mouse, press any key or button etc), 
     $routeProvider 
      // route for the login page 
      .when('/login', { 
       templateUrl: '../view/login.html', 
       controller: 'loginCtrl' 
      })  
     .when('/forgotpassword', { 
      templateUrl: '../view/ForgotPassword.html', 
      controller: 'forgotPasswordCtrl' 
     }) 

}]); 

Fehlermeldung: enter image description here

+0

Welche Fehlermeldung Sie in der Konsole bekommen? – SaiUnique

+1

können Sie nicht als solche in Uri übergeben, verwenden Sie stateParams. $ state.go ('Ihr Validierungsstatus', stateParams); (stateParams ist ein Objekt mit Werten) – Sharmila

+1

Warum können Sie die Validierungen nicht auf derselben Seite vornehmen? Warum möchten Sie nur auf eine andere Seite gehen, um die Anmeldedaten zu überprüfen? –

Antwort

1

Sie eine neue JS-Datei erstellen müssen Controller für validatelogin und konfigurieren mit entsprechender Ansicht (htmlpage1) wie Login-Konfiguration.

.when('/login', { 
       templateUrl: '../view/login.html', 
       controller: 'loginCtrl' 
      }) 
.when('/validatelogin, { 
       templateUrl: '../view/HtmlPage1.html', 
       controller: 'validateloginCtrl' 
      }) 

auch benötigen Sie diesen Code schreiben $location.path("/validatelogin") statt $location.URL('http://localhost:51499/view/HtmlPage1.html');

Hier ist ein Beispiel Artikel über diese: Redirect to the original requested page after login using AngularJs

+0

Ich habe genau dasselbe versucht, aber mit einem anderen Controller, den ich in der Routenkonfiguration hatte. Es gibt immer noch die leere Seite – beginner

+0

haben Sie einen Fehler im Konsolenfenster erhalten? –

+0

und haben Sie diesen Code geschrieben? '$ location.path ("/routname ")' routename, der sie im routconfig-bereich definiert/oder die vollständige konfiguration dann gebe ich die lösungen –

Verwandte Themen