如何从 post 请求中获得响应

how to get a response from a post request

我有一个 post 请求。它已成功制作并完成,但我想知道如何在其中使用 console.log(res.valor),遵循数据

consultarCorreio(){
  this.cartS.cart.valorTotalItems
  this.cartS.getCorreiosPrazoPreco(this.cartS.cart.pesoTotal, 80220060, this.formGeral.value.entrega_cep).subscribe((res: any) => {
    if (res.error) {
      this.modalS.createModal(MdAlertComponent, { title: 'Erro ao obter dados do período', message: 'Recarrega a página e tente novamente ou espere alguns minutos. Se o erro persistir, entre em contato com a nossa equipe.' });
      return;
    }
    console.log(res.data.valor)
    this.freteCorreio = res.data.valor
    console.log(this.freteCorreio)
  });
}

Returns 这个 json (res)

{
"status": true,
"data": {
"cServico": {
  "Codigo": "04510",
  "Valor": "65,00",
  "PrazoEntrega": "6",
  "ValorSemAdicionais": "65,00",
  "ValorMaoPropria": "0,00",
  "ValorAvisoRecebimento": "0,00",
  "ValorValorDeclarado": "0,00",
  "EntregaDomiciliar": "S",
  "EntregaSabado": "N",
    "obsFim": {},
  "Erro": "0",
    "MsgErro": {}
   }
 }
}

如何使用 console.log(res.Valor) 获取“Valor”的值 (65.00) 我尝试使用 console.log(res.value) 但它返回 undefined

console.log(res.value) 您将获得 undefined,因为如您所见,您的回复没有 value 字段。 要获取字段 Valor 的值,请使用 console.log(res.data.cServico.Valor)。 (那是因为您的响应中的 data 对象中嵌入了一个对象 cServico)。

所以,我注意到你的一些代码是 , but I'm going to answer your question about console.log and the res object in

以下代码假定您的 JSON 回复与您在问题中发布的完全相同,如下所示:

{
  "status": true,
  "data": {
    "cServico": {
      "Codigo": "04510",
      "Valor": "65,00",
      "PrazoEntrega": "6",
      "ValorSemAdicionais": "65,00",
      "ValorMaoPropria": "0,00",
      "ValorAvisoRecebimento": "0,00",
      "ValorValorDeclarado": "0,00",
      "EntregaDomiciliar": "S",
      "EntregaSabado": "N",
      "obsFim": {},
      "Erro": "0",
      "MsgErro": {},
    },
  },
}

在这种情况下,获取 Valor 属性 需要访问 res.data.cServico.Valor。如果您收到 undefined,那么我必须假设这些属性在您的测试中不存在(这意味着我无法重现该问题)。

此示例可在以下代码段中看到:

const res = {
  "status": true,
  "data": {
    "cServico": {
      "Codigo": "04510",
      "Valor": "65,00",
      "PrazoEntrega": "6",
      "ValorSemAdicionais": "65,00",
      "ValorMaoPropria": "0,00",
      "ValorAvisoRecebimento": "0,00",
      "ValorValorDeclarado": "0,00",
      "EntregaDomiciliar": "S",
      "EntregaSabado": "N",
      "obsFim": {},
      "Erro": "0",
      "MsgErro": {},
    },
  },
};
console.log(res.data.cServico.Valor);

如果您收到 undefined,我建议您检查父参数,直到您得到 undefined 以外的其他参数来追踪您的错误来源。

console.log(res.data.cServico);
console.log(res.data);
console.log(res);