0

我正在尝试获取我在 Next.js 应用程序中获取到 API 路由的数据,但它不起作用。

这是我获取数据的 API 路由上的代码:

import nc from "next-connect";

const jobHandler = nc();
jobHandler.get((req, res) => {
  res.status(200).send("Get a job");
});

jobHandler.post((req, res) => {
  console.log(`webhook received: ${JSON.stringify(req.body)}`); //<---- HERE is the console log
  
  req.json(req.body);
  res.sendStatus(200); //.json(req.body);
});

export default jobHandler;

这就是我在 console.log 中得到的:

在此处输入图像描述

现在,当我尝试使用 SWR 在客户端获取这些数据时,如下所示:

import useSWR from "swr";

const fetcher = async () => {
  const response = await fetch(`/api/job`);
  const data = await response.json();
  console.log("PREJ TE FETCHER", data);
  return data;
};

function AsyncForm(props) {
  
  const { data, error } = useSWR("job", fetcher);

  console.log("job prej indexi", data); //<-- This is undefined

  return (
    <>
      {data ? (<p>{data}</p>) : (<p>loading...</p>)}
    </>
  );
}

export default AsyncForm;

我明白了undefined

我在这里做错了什么?如何获取我在/api/job路线上获得的数据对象?

4

0 回答 0