[英]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字段顯然在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
(當然,假設您正在使用此請求模塊 )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.