因此,我正在尝试从使用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不支持该信息?
您可以通过访问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));
尝试这样:
axios(req)
.then(response => {
console.log(response.status);
console.log(response.data.request.uri);
})
.catch(err => console.error(err));
或console.log(response)
在控制台中查看整个响应