簡體   English   中英

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字段顯然在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM