如何在我的浏览器上显示从 API 创建的值?

How to Display Value Created from API Onto My Browser?

所以我正在使用这个 API 它会根据您输入的地址自动计算运费。

这是我正在使用的 API 文档 https://developer.doordash.com/en-US/api/drive#operation/DeliveryQuote

因此,当我将我的值添加到我的表单并获取我的数据时,它会像这样在我的控制台中记录费用

我的问题是如何从数据字段中获取此值?

我试过了

 const response = await client.createDelivery(
      {
        order_value: req.body.item1,
        fee: fee,
        tip: req.body.item1,
      },
      console.log(fee)
    );

    console.log(response);

    res.send(response);
  }
 )

但是它说费用没有定义?

我也试过fee: "",也没用。

我什至输入了 console.log(data.fee),它说数据未定义

我最后一次尝试将其更改为 console.log(response.fee) 但它仍然在控制台中显示未定义?

我怎样才能获得 console.log 的费用值?

请注意,我使用的是 express,对于我的小费值,我有一个名为“item1”的输入表单,因此我可以通过说 req.body.item1 来访问它以获取该值

但是,对于 API 自动生成的费用值,我无法自行更改或手动更新它。

这就是 return 对象的样子

{
  data {
    currency: 'USD',
    fee: 975,
    otherData: otherData,
  }
}

要解决您的问题,您必须首先深入研究 data 对象,然后从该对象中检索 fee,例如 data.fee

const response = await client.createDelivery(
  {
    order_value: req.body.item1,
    fee: data.fee, // changed from fee to data.fee
    tip: req.body.item1,
  },
  console.log(data.fee)
);

如果不从 data 对象中检索它,就没有要获取的费用对象,这就是它未定义的原因...

尝试使用

console.log(response.data.fee)

而且我不确定您的 client.createDelivery 是做什么的。如果它发送响应,那么你需要像

一样显示它
const response = await client.createDelivery(
  {
    order_value: req.body.item1,
    fee: fee,
    tip: req.body.item1,
  },
  console.log(fee)
).then((res) => res.json()).then((resData) => console.log(resData.data.fee));