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方法?
答案 0 :(得分:4)
MVC将处理将相应的HTTP谓词映射到其相应的属性,以便它知道要定位的操作(即GET
映射到[HttpGet]
,POST
映射到{{1}等等。)
因此,如果您有一个使用[HttpPost]
属性修饰的控制器操作,则需要发出[HttpDelete]
请求以实际命中它。
在进行jQuery AJAX调用时,这可以非常轻松地处理,因为您只需要明确使用DELETE
,如下所示:
type: 'DELETE'