1

これはマングースとエクスプレスコードです:

app.get('/:user/:id', function (req, res){

   usermodel.findOne({ user: req.params.user }, function (err, user){

   var imagen = user.imagen.id(req.params.id);

   console.log(imagen);

    res.render('photo.ejs', {

         user: user,
         photo: imagen

    });
   });

});

これは、EJS テンプレートの出力です。

<img src="/users/<%= user._id %>/<%= user.avatar %>" class="img-circle" alt="">

imagen オブジェクトを返す console.log があります。一度だけ。しかし、私はこれを受け取ります:

{ title: 'Slimes',
  name: 'slimes.png',
  author: 'Mrmangado',
  description: 'A collection of Slimes',
  index: 1,
  views: 7,
  fav: 0,
  path: '/users/5112b8da8a63aae76f000005/',
  _id: 5112b91a8a63aae76f000006,
  comments: [],
  date: Wed Feb 06 2013 23:12:10 GMT+0300 (MSK),
  tags: [ '#Slimes', '#DQ', '#Sprites' ] }
null
TypeError: /root/views/photo.ejs:92

  >> 1|       <img src="/users/<%= user._id %>/<%= photo.name %>" alt=""/>

imagen オブジェクトを 2 回取得します。1 回目は定義されていますが、2 回目の値は null であるため、エラーが発生します。なんで?その URL に対して、おそらく 2 つのリクエストを受け取るのは本当に奇妙です。これに対する解決策はありますか...?

よろしくお願いします!

4

1 に答える 1

0

/user/idリクエストと/usr/id/photoname 実行の両方が同じコードだと思い ます。また、エラー ダンプでエラーが発生している行は、以前にコピーした行ではありません。

于 2013-02-07T13:24:34.193 に答える