res.data.forEach 不是 Jquery 中的函数

res.data.forEach is not a function in Jquery

我收到一个错误:未捕获的类型错误:res.data.forEach 不是一个函数

当我将 forEach 与 axios.get 一起使用时。我该如何解决问题?

脚本:

let totalData = [];
let monthData = [];

$(async function () {
  await axios.get(`/dashboard/chart/month`).then((res) => {
      console.log(res.data);

      res.data.forEach((data) => {
        totalData.push(data.total);
        monthData.push(data.months);
      });

    });

});

数据:

{
    "success": true,
    "data": [
        {
            "months": "January 21",
            "total": 0
        },
        {
            "months": "February 21",
            "total": 0
        },
        {
            "months": "March 21",
            "total": 0
        },
        {
            "months": "April 21",
            "total": 0
        }
    ],
    "msg": null
}

啊,我才发现。看看你的 res.data,你需要 res.data.data。将您的代码替换为:

let totalData = [];
let monthData = [];

$(async function () {
  await axios.get(`/dashboard/chart/month`).then((res) => {
      console.log(res.data);

      // Add another data here:
      res.data.data.forEach((data) => {
        totalData.push(data.total);
        monthData.push(data.months);
      });

    });

});

res.data是Axios的版本。它有你的数据+状态和其他东西。你也有你的data。所以你需要 res.data.data.