如何在响应超级代理中获取数据

时间:2019-05-16 08:59:48

标签: javascript node.js reactjs superagent

我正在尝试点击一个api,并希望获得接收到的数据作为响应。

为此,我正在使用超级代理,我从api获取数据,并且已经在“网络”标签中进行了检查,但是问题是, 我需要从响应网络选项卡中获取的数据,但我正在获取整个网络选项卡的数据,而不仅仅是响应数据。以下是我的代码

  check=(evt)=>{

    evt.preventDefault();

    agent
        .get(`https://mws.amazonservices.com/Finances/2015-05-01`)
        .query({
            AWSAccessKeyId:'AKIAIOSFODNN7EXAMPLE',
            Action:'GetServiceStatus',
            SellerId:'A13LAO8KHSSL',
            MWSAuthToken:'533644733019',
            SignatureVersion:2,
            Timestamp:'2019-05-16T05:55:43Z',
            Version:'2015-05-01',
            Signature:'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
            SignatureMethod:'HmacSHA256'
        })
        .then(res => {
           console.log('here is the response');
            console.log(res)  // here it print the whole data I only need data got in //response
      })
      };

我如何仅获取响应数据

1 个答案:

答案 0 :(得分:2)

SuperAgent返回带有请求和响应详细信息的对象,例如statustext。如果要获取原始响应正文,请使用text属性:

agent
    .get(...)
    .query(...)
    .then(response => {
        const rawBody = response.text;
        console.log(rawBody);
    });

输出:

<?xml version="1.0"?>
<GetServiceStatusResponse>
   ...
</GetServiceStatusResponse>