NodeJS - 无法访问我想要的路线

时间:2014-04-10 11:01:34

标签: node.js express

我有一些麻烦到达我得到的路线。该路线适用于http://localhost:3000/me并显示信息,但在http://localhost:3000/!#/me上显示任何信息。所述路线的目的是向被记录的人显示'轮廓。 在我的服务器路线上,我得到了:

app.get('/me', users.me);

users.me功能如下:

exports.me = function(req, res) { res.jsonp(req.user); };

控制台声明它期望一个对象并得到一个数组,我可以理解,因为我得到了一个json,但是如何将自己的用户发送回前端,以便显示他/她的个人资料?

编辑:我设法解决了我的问题,因为我使用passportjs我可以从会话中获取用户ID。由于我已经通过id为用户提供了路由,因此我只需要重定向到所述路由。像这样:req.redirect('users/'+ req.session.passport.user);。由于我已经有/users/:userId路线工作,它完全解决了我的问题。

Edit2:显然有几种获取用户ID的方法。尝试console.log请求,你会看到我的意思:))

1 个答案:

答案 0 :(得分:1)

  • / me和/!#/ me不是同一条路线。后者将不匹配get(' /我',..)
  • 散列片段#/ me 不会发送到服务器,您无法通过服务器端路由器捕获(不强制客户端代码刷新页面)。但您可以通过客户端代码进行管理。