PugJS在表单动作中添加问号



PugJS在form action中添加问号

form(method="DELETE", action='/shortener/'+ item._id)
button.btn.btn-delete(type="submit") Delete

我得到的URL:

http://localhost:8080/shortener/6421f534e7c2fbc3293e83ad?

我也试图获取url使用fetch()

public async destroy(req: Request, res: Response): Promise<Response> {
await Shortener.findOneAndDelete({ _id: req.params.id });
return res.status(204).json([]);
}

DELETE不是method属性的有效值,因此浏览器忽略它并恢复为默认值(即GET)。

当您提交GET表单时,添加了action上的查询字符串(或替换,如果已经有一个),其中包含?,然后是表单数据的键=值对(在这种情况下没有表单数据,所以您只需获得?)。


如果你想做一个DELETE请求,那么你需要使用JavaScript而不是常规的表单提交。

如果你想让一个表单提交告诉服务器删除一些东西,那么使用POST,而不是DELETE(作为一个副作用,POST不会添加查询字符串)。

最新更新