当我使用任何方法(POST
、DELETE
等(在任何url上提取时,会在所述url上触发额外的GET
请求。在DELETE /items/:id
后面跟着GET /items/:id
的情况下,这是一个问题,因为它试图用undefined
作为输入数据来处理相关的苗条页面,所以会导致错误。
我尝试了几个页面和几种方法,在端点的开头使用console.log
s,这种行为总是一样的。
我没有挂钩,请求后不会重新加载页面。我的所有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',
});
这将自动取消以下请求。