Axios响应未显示数据求助:Fetch正常但Axios异常如何修复?
问题
学习使用Axios调用接口后输出异常(附图1、附图2显示异常内容),但使用Fetch调用同一接口时输出正常。尝试用catch捕获错误却未得到任何错误信息,该如何修复Axios的问题?
代码如下:
const axios = require("axios").default; const url = "https://jsonplaceholder.typicode.com/users"; const timer = () => { axios .get(url) .then((response) => { console.log(response); }) .catch((error) => { console.log(error); }); }; timer();
解决方案
调整响应输出内容:Axios的响应对象包含大量元数据(如配置、请求头、状态码等),直接打印整个
response会显示非预期内容,而实际接口返回的数据在response.data中。修改代码打印response.data即可得到与Fetch解析后一致的结果:const axios = require("axios").default; const url = "https://jsonplaceholder.typicode.com/users"; const timer = () => { axios .get(url) .then((response) => { console.log(response.data); // 打印实际响应数据 }) .catch((error) => { // 打印更详细的错误信息,便于排查 console.error("请求错误:", error.message); if (error.response) { console.error("状态码:", error.response.status); console.error("错误响应数据:", error.response.data); } }); }; timer();更新Axios版本:旧版本Axios可能存在兼容性问题,执行
npm update axios命令更新到最新稳定版,避免因版本bug导致异常。检查网络/代理配置:Axios的默认网络配置与Fetch存在差异,若处于代理环境,可显式配置代理参数:
axios.get(url, { proxy: { host: '你的代理地址', port: 代理端口 } })
内容的提问来源于stack exchange,提问作者Wizat
相关产品推荐
相关产品推荐

