我的服务器返回一个空对象,如果它到达最后一个条件,代码是204:
exports.get_group_profile = function(req, res) {
Work.findById(req.params.work_id, function(err, work) {
if (err || !work)
return res.send(404);
if (work.admin.id === req.user._id){
console.log('here');
return res.json(200, work.profile);
}
if (work.users.indexOf(req.user._id)> -1)
return res.json(201, work.profile);
if (work.invited.indexOf(req.user._id) > -1)
return res.json(202, work.profile);
for (var i=0;i<work.appliers.length;i++) {
if (work.appliers[i].id == req.user._id)
return res.json(203, work.profile);
}
if (work.visibility!=0){
console.log(work.profile);
return res.json(204, work.profile);
}
return res.send(404);
});
};
任何条件,但这一个正确返回work.profile(mongoDB中的虚拟)。返回之前的日志打印出我需要的对象,但我的客户端没有它的痕迹。有什么想法吗?
答案 0 :(得分:3)
从这个网站:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5
204响应绝不能包含消息体,因此总是在头字段后面的第一个空行终止。
这就是为什么你在客户端没有看到任何东西。