ajax的类型调用[HttpDelete] Asp.Net MVC

时间:2016-06-15 12:54:56

标签: c# jquery ajax asp.net-mvc

ajax调用将[HttpDelete]调用MVC属性?假设我在JsonResult以下[HttpDelete]属性。

[HttpDelete]
public JsonResult DeleteData(string id)
{
   //deleting the data
   return new Json{Data="Deleted", JsonRequestBehavior=JsonRequestBehavior.AllowGet};
}

现在,我尝试使用JsonResult$.ajax调用这些$.post,但它们都无法跟踪此控制器方法。显而易见的是,我可以通过[HttpPost]属性修饰完成此操作,但由于我正在删除data,所以这应该是更好的恕我直言。我们如何通过[HttpDelete]调用使用ajax属性修饰的Controller方法?

1 个答案:

答案 0 :(得分:4)

MVC将处理将相应的HTTP谓词映射到其相应的属性,以便它知道要定位的操作(即GET映射到[HttpGet]POST映射到{{1}等等。)

因此,如果您有一个使用[HttpPost]属性修饰的控制器操作,则需要发出[HttpDelete]请求以实际命中它。

在进行jQuery AJAX调用时,这可以非常轻松地处理,因为您只需要明确使用DELETE,如下所示:

type: 'DELETE'