【发布时间】:2020-05-31 00:35:12
【问题描述】:
在laravel 或一些express.js 库中添加中间件以检查是否给出了名为_Method 的字段,这将在服务器到达时覆盖http 请求的实际http 方法,因为浏览器仅支持@987654326 @ 和 GET。
ASP.NET (.NET Framework) 是否包含像我刚才提到的那样的内置中间件,我在网上找不到任何东西。
如果是这样,我该如何使用它或者你知道这样的atricle。
如果没有,我如何自己创建这样的中间件。
我自己无法创建一个,因为HttpContext 中的HttpRequest 是readonly,而HttpRequest 中的HttpMethod 也是readonly。
或者是使用preventDefault()和/或ajax通过javascript发送(例如)DELETE请求的唯一选择?
【问题讨论】:
-
Web 服务器上有一些内置模块可以阻止某些 http 动词。在 IIS 中,该模块是 WebDAVModule。如果在 IIS 上运行的应用程序中存在此模块,则 DELETR Web 请求将被阻止。因此需要从应用程序中删除它以允许 DELETE 请求。 stackoverflow.com/questions/6147181/…
-
delete api 工作正常,我用邮递员测试过。问题是关于如何使用浏览器访问该 API。
-
您可以使用 Ajax 从浏览器进行 API 调用。
标签: c# asp.net middleware .net-framework-version http-method