回调返回响应但是当API响应中的发送在节点JS中显示为空时

时间:2016-04-05 11:37:42

标签: javascript node.js callback body-parser

我必须使用REST API发送响应。回调会返回确切的响应,但当我将其传递给API响应时,它会显示为空白。

以下是代码:

getAuctionListingByType(filterData, function(response) {
  console.log('auction listing');
  console.log(response);
  res.json({
    code: 200,
    message: 'Auction',
    data: response
  });
});

控制台显示以下回复:

 [[auction_id: '3',title: 'Salvage Auction 2011',business: 'Insurance'],
 [auction_id: '4',title: 'Salvage Auction 2013',business: 'Bank']]

但是当我点击API时,响应是:

{"code":200,"message":"Auction","data":[[],[]]}

当我控制它打印的响应时,但是当我传递给客户端时,它是空白的。

3 个答案:

答案 0 :(得分:4)

您正在从服务器发送array of arrays,但您的array无效。

  

Arrays是类似列表的对象,其原型具有执行遍历和变异操作的方法。

您将object视为array

响应应如下所示:

  

[{auction_id: '3',title: 'Salvage Auction 2011',business: 'Insurance'},{auction_id: '4',title: 'Salvage Auction 2013',business: 'Bank'}];

注意:检查控制台(cmd)是否有错误,您可能会看到 Unexpected token :

答案 1 :(得分:0)

将响应存储在变量中并将该变量传递给api。

       getAuctionListingByType(filterData, function(response) {
              console.log('auction listing');
              console.log(response);
              var TempStore=response;
             res.json({
                   code: 200,
                   message: 'Auction',
                  data: TempStore
                  });
             });

答案 2 :(得分:0)

您的回复应该是对象格式数组而​​不是数组格式。

您的回复应该是这样的:

[{auction_id: '3',title: 'Salvage Auction 2011',business: 'Insurance'},{auction_id: '4',title: 'Salvage Auction 2013',business: 'Bank'}]

将响应的格式更改为对象数组。