Axios-从响应对象获取请求URI数据

问题描述 投票:2回答:2

因此,我正在尝试从使用request.js迁移节点项目以使用axios.js

当我使用请求包时,我可以像这样从响应对象获取URI数据

request(req, (err, response) => {
  if (err) console.error(err);
  console.log(response.statusCode);
  console.log(response.request.uri);
  console.log(response.request.uri.hash);
  console.log(response.request.uri.host);
});

但是当我这样使用axios时

axios(req)
  .then(response => {
    console.log(response.status);
    console.log(response.request.uri);
  })
  .catch(err => console.error(err));

我在response.request.uri中得到undefined

所以,我使用axios软件包是否错误,还有另一种方法来获取我想要的信息,或者axios不支持该信息?

javascript node.js request axios
2个回答
0
投票

您可以通过访问response.config.url response.request.responseURL来访问它,尽管如果您只想要URI,则需要运行substring或类似的方法。

示例:

const removeHttpProtocol = (url) => url.replace(/(^\w+:|^)\/\//, '');

axios(req)
  .then(response => {
    console.log(removeHttpProtocol(response.request.url));
  })
  .catch(err => console.error(err));

-1
投票

尝试这样:

axios(req)
  .then(response => {
   console.log(response.status);
   console.log(response.data.request.uri);
})
.catch(err => console.error(err));

console.log(response)在控制台中查看整个响应

© www.soinside.com 2019 - 2024. All rights reserved.