我正在学习使用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响应。
我正在努力调试这个。任何提示。请帮忙。
答案 0 :(得分:0)
在express app.use
方法中,不会在url之前添加任何内容。它用于为适当的URL应用中间件。
因此,如果您有app.use('/api',api)
,则应始终使用以/api
开头的网址进行访问。
这就是为什么你的角度代码没有按预期工作的原因。您应该拥有包含/api
部分的完整网址。
答案 1 :(得分:0)
我找到了param被截断的原因。在我的代码中的某个地方,我正在做一个'parseInt($ routeParams.id,10)',这导致Hex id被截断为十进制。
比你的支持!
〜基尚