对url的任何获取都会触发对它的额外GET请求



当我使用任何方法(POSTDELETE等(在任何url上提取时,会在所述url上触发额外的GET请求。在DELETE /items/:id后面跟着GET /items/:id的情况下,这是一个问题,因为它试图用undefined作为输入数据来处理相关的苗条页面,所以会导致错误。

我尝试了几个页面和几种方法,在端点的开头使用console.logs,这种行为总是一样的。

我没有挂钩,请求后不会重新加载页面。我的所有fetch调用都包含在只能通过DOM上的事件调用的函数中,因此脚本的根目录上没有任何内容。

下面是一个DELETE端点的例子(我主要针对这个端点进行测试(:

export const DELETE = async ({params}) => {
await meta.findOneAndDelete({url: params.url})
return {}
}

它甚至会出现以下情况:

export const POST = async () => {
return {}
}

我在点击事件后面用fetch(/items/${url}, {method: 'POST'})调用这个端点,它每次都会触发GET /items/:url。我应该指出,这些GET请求在开发工具中不可见,我只看到我在GET端点中放入的console.log和服务器控制台上的潜在错误。

看起来这些端点重定向到GET/items,可能是为了让它们与HTML表单很好地协同工作(这对DELETE端点来说很有趣,因为表单只支持GET和POST(。

您可以在fetch呼叫中使用redirect选项:

fetch(url, {
method: 'POST',
redirect: 'manual',
});

这将自动取消以下请求。

最新更新