在laravel
或某些express.js
库中添加中间件以检查是否给定名为_Method
的字段,该字段将在服务器到达时覆盖http请求的实际http方法,因为浏览器仅支持POST
和GET
。
ASP.NET (.NET Framework)
是否包含像我刚才提到的那样的内置中间件,我在网上找不到任何东西。
如果是这样,我该如何使用它,或者您知道这样的小孔。如果没有,我该如何自己创建这样的中间件。我无法创建自己,因为HttpRequest
中的HttpContext
是readonly
,而HttpMethod
中的HttpRequest
也是readonly
。
或者是使用preventDefault()
和/或ajax
通过DELETE
发送(例如)javascript
请求的唯一选择?
[HttpDelete]
public JsonResult MyDeleteFunction(int id)
{
//Write your delete code here
return Json("some responses");
}
然后在客户端,您可以使用ajax进行删除请求。
$.ajax({ url: '/ControllerName/MyDeleteFunction', dataType: "json", type: "DELETE", contentType: 'application/json; charset=utf-8', data: JSON.stringify({id: 123}), async: true, processData: false, cache: false, success: function (data) { alert(data); }, error: function (xhr) { alert('error'); } });