首页 > 解决方案 > Hooks 和 Api 调用

问题描述

我正在通过 AXIOS 调用我的 API。我的回复回来了,如果我检查我的网络,我可以看到它,但是当我 console.log 时它返回空数据:

useEffect(() => {
  async function bt() {
    const authAxios = axios.create({
      headers: {
        Authorization: `Bearer ${localStorage.getItem('token')}`,
      },
    });

    const Data = await authAxios
      .get('/tasks/')
      .then((res) => {
        console.log(res);
      })
      .catch((e) => {
        console.log(e);
      });
  }
  bt();
}, []);

标签: javascriptreactjsaxios

解决方案


  • 1 - 您在尝试解决承诺的同时使用了异步函数。要么摆脱异步并等待,要么摆脱“等待 authAxios”之后的所有内容(即捕获然后阻塞)

  • 2 - res.data 控制台日志为空白的原因是因为 res.data 未定义尝试将该行更改为 res。检查响应对象以查看信息是否存在。


 .then((res) => {
        //console.log(res.data);
          console.log(res)
          setmessage(res.data);
        // this.getUserUpdate(res.data)
        console.log(res.data);
      })

要使 res.data 正常工作,您需要确保您的 API 为响应创建了一个名为 data 的属性。如果这不起作用,我建议您还添加后端的外观。


推荐阅读