これに似ている
私は次のルートを持っています:
app.get('/blogpost/:link', middleware.loginCheck, blog.postBlogs);
を使用req.params.link
すると、リンク パラメータが返されます。
を求めると、req.params.link
がmiddleware.loginCheck
届きますundefined
。
次のようreq.params.link
にアクセスできるため、ミドルウェアに渡されていないようです。
app.get('/blogpost/:link', function(req, res){console.log(req.params.link)});
私のミドルウェアの問題は何ですか?
FINAL
a(href='/post/#{post.link}') #{comments}
レンダリング/post/myPostLink
{#post.link}
/
a(href='/post#{post.link}') #{comments}
変数の代用をレンダリングするだけで、追加のrenders '/postmyPostLink' を追加しません
a(href='/post/' + post.link) #{comments}
レンダリング/post/myPostLink
したがって、両方#{post.link}
またはpost.link
同じようにreq.params.link
機能し、両方の呼び出しで機能します。
UPDATE_2 Web ページのレンダリング
に使用しています。jade
その中に次のように記述されたアンカー タグがあります a(href='/post/#{post.link}) #{comments}
。 achor タグは正常に機能し、正しいページに誘導します。しかしexpress
、この表現は好きではありません。代わりに、アンカータグを変更すると正常にa(href='/post/' + post.link) #{comments}
req.params.link
動作します。
req.param('link')
この場合、UPDATE_1が機能します。
ミドルウェアに問題はありません。
しかし、なぜうまくいかないのでしょうreq.params.link
か?