2016-05-13 12 views
0

Ich entwickle eine Webapp mit dem Stack MEAN.io und für den Moment habe ich den Frontend Teil mit HTML, CSS und AngularJS mit etwas Logik drin. Aber jetzt möchte ich auf der Server-Seite einloggen und ich weiß nicht, wo ich anfangen soll, zum Beispiel AngularJS hat die Datei, wo es die Routen definiert, welche Templete es benutzt und welcher Controller auch, aber was ist mit dem Express/Knotenteil?Wie logge ich mich mit Node mit Mean.io Stack ein

Wie kann ich diesen neuen Login implementieren? Ich bin irgendwie verloren.

Server folders

Ich möchte einige „Verwaltung“ mit registrierten Benutzern zu tun, dass sie Lieblingsprofile hinzufügen. Fügen Sie ein Lesezeichen auf der rechten Seite des Bildschirms hinzu. Aber ich möchte dies serverseitig machen.

Das Problem ist, ich finde nicht, wo der serverseitige Code und diese Beziehung mit der gleichen Datei auf das Frontend zu schreiben.

Zum Beispiel, wenn ich auf Indexseite bin, möchte ich das Favoritenprofil anzeigen, das ich zuvor hinzugefügt habe. Und natürlich in MongoDB gespeichert.

+1

Dies ist ziemlich breit, gibt es weitere Details, die Sie bereitstellen können? – Scott

+0

Fertig. Ich weiß nicht, ob das jetzt klarer ist. In einem Lebenslauf möchte ich Code zur Serverseite schreiben, aber ich kann nicht finden, wo man ihn mit dem angularJS Teil anschließt. –

+0

Ich sehe - ich kann hier keine vollständige Antwort schreiben, aber Sie würden eine serverseitige API erstellen (wenn Sie Express verwenden, ist dies [super schnell] (http: // expressjs .com/de/api.html # app.get.method)) und mit Angulars ['$ http'] (https://docs.angularjs.org/api/ng/service/$http) Modul, um Anfragen zu senden zu ihm. – Scott

Antwort

2

Sie haben zwei Möglichkeiten, verwenden Sie reguläre Formulare, um Daten zu veröffentlichen oder $ http eckig Ajax Post zu verwenden.

regelmäßige Form Art von Daten an den Server

<form action="/" method="post"> 
    <input type"email" name="email" /> 
    <input type"password" name="password" /> 
    <input type="submit" value="login" /> 
</form> 

Buchungsdaten mit Ajax Winkel $ HTTP-Methode

<form > 
    <input type"email" ng-model="user.email" /> 
    <input type"password" ng-model="user.password" /> 
    <button ng-click="login">login</button> 
</form> 

$scope.user = {}; 
$scope.login= function() { 
    $http({ 
     url: 'http://localhost:3000/', 
     method: 'POST', 
     data: { 
     email: user.email, 
     password:user.password 
     } 
    }); 
}); 

Serverseite

Posting
router.post('/', function (req, res, next) { 
    console.log(req.body); 
    //custom authentication or use passport.js 
}); 
+0

Also .. wenn Sie in "/" route den Code innerhalb des Routers.Post es wird ausgeführt werden und dann werde ich in der Lage sein, meine Funktionalitäten dort zu schreiben, richtig? und der Code, den Sie in Server-Seite bei Server/Controller geschrieben? –

+1

form action = "/" oder $ http url: "http: // localhost: 3000 /" muss an die richtige Backend-Funktion übergeben werden, die router.post ('/') ist. Sie hat nichts mit Winkelrouting zu tun. Ja können Sie Ihre Funktionalitäten in Controller schreiben und sie auf Routen exportieren. –