0

私は現在、nodejs と mongodb を初めて使用するので、この初心者タイプの質問を許してください。

私が欲しいのは、mongodb ファイルから、ミニゲームを実行している js ファイルにデータを渡すことです。私が今行っていることは、jsp タグを使用して mongodb からデータを取得することです (私が見たプロジェクトからこのプラクティスに従っていますが、彼は彼にとってうまく機能している html ファイルでこれを行っています。私の場合運を試しただけです)

var win = <%= user.win %>;
var lose = <%= user.lose %>;
var draw = <%= user.draw %>;

mongodb から javascript に持っていたデータを取得するにはどうすればよいですか?

4

1 に答える 1

0

Node.JS with Express アプリケーションを使用している場合、それを行う方法はたくさんあります。テンプレート エンジンを使用している場合は、scriptブロック内の HTML ページの一部としてデータをレンダリングできます (または、スクリプトを使用せずに HTML として直接レンダリングできます)。または、Ajax スタイルのリクエストを使用して、データをクライアントに送り返すこともできます。

app.get('/api/users/:id', function(req, res) {        
  Users.findOne({ _id : req.params.id }, function(error, user) {
    if (error || !user) {
      res.send({ error: error });
    } else {
      res.send(user);
    }
  });
});

準備ができたら、たとえばjQueryの関数を使用して Web サービスを呼び出すことができます。ajax

$.ajax({
  url: "api/users/" + userId,
}).done(function(user) {
    // here you have a  complete user object that you can use
});

あなたが投稿したコードは、あなたがテンプレートエンジンを使用していると私に思わせます。renderテンプレートHTMLファイルにはメソッドがあると思います:

res.render('homepage', user);

次に、HTML で:

<script>
var win = <%= win %>;
var lose = <%= lose %>;
var draw = <%= draw %>;    
</script>

userオブジェクトは現在のコンテキストを持つオブジェクトであるため (上記の例でパラメーターとして渡されたため)、オブジェクトのプロパティを直接参照することができます(userではwinなくuser.win)。

于 2013-09-21T18:57:03.107 に答える