【发布时间】:2014-07-21 16:07:29
【问题描述】:
我正在使用带有 node 的 expressjs 来创建我的网络应用程序,但它没有按预期工作。
这里发生了一些非常奇怪的事情,如果我转到浏览器中的第一个链接,它会按预期工作,但如果我转到第二个链接,它不会执行回调并返回 null。正如您可能看到的那样,它们是相同的!
第一个 API 代码片段(第一个链接):
/**
* GET /workspace/friends/list
* JSON friend list API
*/
app.get('/workspace/friends/list', passportConf.isAuthenticated, function (req, res) {
var userFriends = [];
//console.log(req);
for (var i = 0; i < req.user.friends.length; i++) {
if (req.user.friends[i].verified) {
userFriends.push(req.user.friends[i]);
}
}
res.json(userFriends);
});
第二个 API 代码片段(第二个链接):
/**
* GET /workspace/friends/sentRequests/
* JSON friends requests list API
*/
//TODO: Fix API
app.get('/workspace/friends/sentRequests', passportConf.isAuthenticated, function (req, res) {
var userFriends = [];
//console.log(req);
for (var i = 0; i < req.user.friends.length; i++) {
if (!req.user.friends[i].verified) {
userFriends.push(req.user.friends[i]);
}
}
res.json(userFriends);
});
注意:我还必须补充一点,如果我在两者中取消注释 console.logs,我会从第一个而不是第二个获得日志。
这怎么可能?有没有人遇到过类似的事情?我该如何解决?
【问题讨论】:
-
@meagar 是的,我的状态为 200。 :-/
-
对我来说,您似乎在其他地方定义了类似的路由,该路由会触发并结束请求。
-
@Steffen 也不是问题,因为我在文件中搜索了
'/workspace/friends/sentRequests'并且只得到了 2 个匹配项,一个在注释块中,一个在 get 请求中。 :-(
标签: javascript node.js rest express get