我正在尝试获取我在 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
路线上获得的数据对象?