これに似ている
私は次のルートを持っています:
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か?