2016-05-13 8 views
0

スタックMEAN.ioを使用してWebアプリケーションを開発していますが、現在、HTML、CSS、AngularJSのフロントエンド部分にロジックが含まれています。しかし、今私はサーバー側でログインをしたいと思いますし、AnglesJSはルートを定義するファイル、どのテンプテートが使用されるのか、どのコントローラも同様ですが、Express /ノード部分?Mean.ioスタックを使用してノードでログインする方法

この新しいログインを実装するにはどうすればよいですか?私はちょっと迷っています。

Server folders

私は、彼らが好きなプロファイルを追加することができ、登録ユーザでいくつかの「管理」を行いたいです。画面の右側に1つのブックマークを追加する。しかし、私はサーバー側でこれをやりたい

問題は、サーバーサイドコードとこのファイルとの関係をフロントエンドに書き込む場所が見つからないことです。

たとえば、私がインデックスページにあるときに、前に追加したお気に入りのプロフィールを表示したいとします。もちろん、MongoDBにも格納されています。

+1

これはかなり幅広く、詳細は何ですか? – Scott

+0

完了。これがもっと明確になったかどうかはわかりません。私は、サーバー側にコードを書いていますが、私はどこにangJSの部分と接続するために見つけることができません再開で。 –

+0

私はこれについて完全な答えを書くことはできませんが、サーバー側のAPIを作成することを検討しています(エクスプレスを使用している場合、これは[super quick]です)(http:// expressjs .com/en/api.html#app.get.method))、Angularの['$ http'](https://docs.angularjs.org/api/ng/service/$http)モジュールを使用してリクエストを送信するそれに。 – Scott

答えて

2

通常のフォームを使用してデータを投稿するか、$ http角度のajax投稿を使用する2つのオプションがあります。 AJAXの角度$ HTTPメソッドを使用してサーバーに

<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 
     } 
    }); 
}); 

サーバ側

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

ポスティングデータをデータを掲示する

通常のフォームの種類210

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

だから、あなたが '/'にいるとき、ルータの中にコードを入れてください。それが実行され、私はそこに私の機能を書くことができるようになるだろうポスト? とサーバー側で書いたコードはserver/controllersにありますか? –

+1

form action = "/"または$ http url: 'http:// localhost:3000 /'はrouter.post( '/')という適切なバックエンド機能にポストする必要があります。はい、コントローラとmodule.exportsそれらのルートにあなたの機能を書くことができます。 –

関連する問題