NodeJS:访问对象字段返回未定义,即使字段存在
NodeJS: Accessing object fields returns undefined even though fields exist
router.get('/:id', function(req, res, next){console.log(req.params.id)
request(
config.API_URL + "/v1/gallery/get?id=" + req.params.id,
function (err, response, body){
console.log('###BODY###',JSON.stringify(body));
console.log('###BODY###',JSON.stringify(body.data));
res.render('gallery', { user: req.session.user, gallery: body.data, title: 'Gallery', purchased: req.session.user.outlet ? (req.session.user.outlet.purchased || []) : [], config: config });
}
);
});
我试图传递请求体的数据字段作为此模板的库,但在传递body.data
时,在模板中它说我的库参数未定义。正如您在上面看到的,我然后控制台记录了主体,然后是它的字段。console.log(body)
产生以下输出:
###BODY### "{'"err'":null,'"data'": {'"_id'":'"5d955d7431d34f862a0dbd60'",'"owner
'":null,'"caption'":'"A suspected shooting at the Washington DC Navy Yard has sh
ut down parts of the city. This is the same location where a gunman killed 12 pe
ople in 2013. After an investigation search, authorities gave the '''"all clear.
'''"'",'"tags'":['"dc'",'"navyyard'",'"shooting'",'"washington'"]...
我缩短了输出,但正如您所看到的,数据字段显然在data.err
旁边。但是,当我运行console.log('###BODY###',JSON.stringify(body.data))
时,返回的是###BODY### undefined
。有人能解释一下这种行为吗?
替换为
request(
config.API_URL + "/v1/gallery/get?id=" + req.params.id,
<callback>
);
:
request({
url: config.API_URL + "/v1/gallery/get?id=" + req.params.id,
json: true
}, <callback>);
这将指示request
自动将响应体解析为json
(当然,假设您正在使用此请求模块)。
- JSP 中的“日期”字段存在问题
- Ember-自定义计算属性,用于检查是否存在所有依赖字段
- 查询MongoDB中不存在的字段
- 我使用jquery创建输入字段,刷新页面后如何保持这个“新输入值”的存在
- json2html 当字段不存在时如何排除行
- 当文件输入中存在名称字段时,getElementById 不会发布
- 删除不存在的字段的子字段
- 有没有一种方法可以添加额外的独立字段,使它们不会成为预先存在的形式's(DOM)子代
- 将对象推送到mongoose数组,并检查数组对象中是否存在重复字段
- 不存在的属性HTML输入字段
- 验证可能不存在的字段
- 从字段中提取GUID(如果存在)
- 将段落中存在的各种文本输入字段的文本连接起来
- JS/MongoDB:检查对象(集合文档)中是否存在嵌套字段
- Meteor正在检测集合中是否存在字段
- 检查是否存在多个字段,如果不存在,则返回MongoDB中的所有项
- 从预先存在的字段生成ISO日期
- 在创建项之前,请检查字段值是否存在于其他SharePoint列表中
- Highstock.js / Angular.js中的范围选择器在xAxis配置字段存在时不会更新图表
- NodeJS:访问对象字段返回未定义,即使字段存在