2016-06-01 12 views
0

nodejから現在のユーザー情報をangle(view)に表示します。は現在のユーザー情報をノードから角度まで表示します

問題は、どのようにして渡すかわからないことです。ユーザIDがノードと角度にあります。

コード:

router.get('/:id/api/data.json', function(req, res, next) { 
    console.log(req.params.id); 
    var userId = req.params.id; 
    User.findById({_id:userId}, function (err, doc) { 
     if (err) throw err 
     if (doc){ 
      res.json({ 
       doc: doc, 
       userID:req.params.id 
       }); 
     } 
    }); 
}); 

角度

ノード:

app.controller('profileCtrl', function($scope, $http) { 
    $http.get("don't know how to get id from node").then(function (response) { 
     console.log(response.data); 
    }); 
}); 
+0

あなたが 'console.log(response.data)'を実行したときのブラウザの出力は?また、 'res.json()'の代わりに 'res.jsonp()'を試してみましたか?残りは私によく見えます。 – aikorei

+0

問題は私がURLに何を入れるべきか分からないことです:$ http.get( "ノードからIDを取得する方法を知らない") – sani

+0

ああ、申し訳ありません - 私はあまりにも素早くその部分をスキミングしました。ノードが '/:id/api /'を見ているので、 '$ http.get( '/' + id + '/api/data.json')。 data.json''これは '$ http.get'リクエストを行うためのURLです。 – aikorei

答えて

1

あなたのNode.jsのルータは、URL /:id/api/data.jsonを聴いています。 :idの部分はNode.jsがNode.jsファイルのreq.params.idによって取得されるパラメータを期待していることを意味します。

これは実際には、URLの一部としてidの値を渡す必要があることを意味します。したがって、あなたのURLは/userid12345/api/data.jsonのようになります。

あなたの角度のファイルでは、それはgetのリクエストを行うURLです。どちらにすると、getその特定のURL、たとえばことができますので、あなたの角度のファイルにユーザーのIDを知っておく必要があることを意味:

var userId = 'userid12345'; 

$http.get('/' + userId + '/api/data.json').then(function(response) { 
    console.log(response); 
}); 

あなたがURLの一部としてでuserIdを渡したら、そのノードがreq.params.idを使用してそれをつかむことができ、 dbコールを行うことができます。

+0

私はこれをしたし、エラーもあります:var id = userId 私はIDが定義されていません – sani

+0

'id'と' userId'は作り物。データベースに実際のユーザーIDがありますか?もしそうなら、それを使用して、Angularファイル内の変数をあなたのデータベースのユーザIDに設定します。つまり、 'var userId = 'あなたのデータベースにあるユーザIDは何でも'; – aikorei

+0

_idはmongo dbにあり、var userId = ;もう一度エラーが出る – sani

関連する問題