请求Param被截断

时间:2014-12-29 18:32:22

标签: angularjs node.js mongodb express mongoose

我正在学习使用express,angular和mongoose构建webapps。

我的角度控制器传递网址“/contact/54a153243aac91fc28605b0b”最后一位是我的mongo数据库中记录的_id。

在服务器端,我在url前面加上/ api,这样有效的网址就是“/api/contact/54a153243aac91fc28605b0b

当我在服务器端访问参数时,我希望得到“54a153243aac91fc28605b0b”作为req.param.id,但我只是得到“54”。

有趣的是,如果我直接在浏览器的地址栏输入以下内容,我就可以获得完整的ID。即如果我输入“http://localhost:3000/api/contact/54a153243aac91fc28605b0b”在这种情况下,我也得到了预期的JSON响应。

我正在努力调试这个。任何提示。请帮忙。

2 个答案:

答案 0 :(得分:0)

在express app.use方法中,不会在url之前添加任何内容。它用于为适当的URL应用中间件。

因此,如果您有app.use('/api',api),则应始终使用以/api开头的网址进行访问。

这就是为什么你的角度代码没有按预期工作的原因。您应该拥有包含/api部分的完整网址。

答案 1 :(得分:0)

我找到了param被截断的原因。在我的代码中的某个地方,我正在做一个'parseInt($ routeParams.id,10)',这导致Hex id被截断为十进制。

比你的支持!

〜基尚