如何在Next.js中从中间件文件发送POST/GET请求



我试图直接在中间件文件中发送GET请求,但不幸的是,我收到了一条奇怪的错误消息。这是我的中间件文件:

import { NextRequest, NextResponse } from "next/server";
export async function middleware(request: NextRequest) {
const response = NextResponse.next();
await fetch(new URL("http://api.tvmaze.com/search/shows?q=postman").href, {
method: "GET",
headers: {
"Content-Type": "application/json",
},
});
return response;
}

不幸的是,当我尝试时,错误消息是:

[TypeError:无法删除的属性"Symbol(set cookie("#]

你知道我为什么收到这个错误消息吗?

我发现了如何做到这一点。下面是我们如何发送POST请求的示例。

fetch(new URL("/endpoint", "http://yourdomain.com"), {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
type: "PAGE_REQUESTED",
})
});

发送GET请求也很简单——只需更改方法:";POST";方法:";GET";,并移除主体。

我们不等待请求,因为我们不希望它延迟我们的申请。因此,如果这是一个GET请求,只需使用。然后为了获得数据

最新更新