如何在浏览器中向ASP.NET(.NET FRAMEWORK)中的DELETE http方法发出请求

问题描述 投票:1回答:1

laravel或某些express.js库中添加中间件以检查是否给定名为_Method的字段,该字段将在服务器到达时覆盖http请求的实际http方法,因为浏览器仅支持POSTGET

ASP.NET (.NET Framework)是否包含像我刚才提到的那样的内置中间件,我在网上找不到任何东西。

如果是这样,我该如何使用它,或者您知道这样的小孔。如果没有,我该如何自己创建这样的中间件。我无法创建自己,因为HttpRequest中的HttpContextreadonly,而HttpMethod中的HttpRequest也是readonly

或者是使用preventDefault()和/或ajax通过DELETE发送(例如)javascript请求的唯一选择?

c# asp.net middleware .net-framework-version http-method
1个回答
0
投票
首先,您需要为控制器或API中的函数分配[HttpDelete]属性。例如:

[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'); } });

© www.soinside.com 2019 - 2024. All rights reserved.