我应该在jQuery.ajax()函数中使用POST或DELETE谓词

时间:2010-02-18 20:21:57

标签: jquery asp.net-mvc

这是来自jQuery API docs:

  

typeString   默认值:'GET'   要求的类型(“POST”或“GET”),默认为“GET”。注意:此处也可以使用其他HTTP请求方法,例如PUT和DELETE,但并非所有浏览器都支持它们。

我将使用jQuery删除AJAX链接。我想知道的是有关DELETE和PUT的浏览器支持的细节。哪些浏览器支持它?我刚刚使用POST更安全吗?

鉴于我在ASP.NET MVC中工作,我可以使用DELETE和POST来装饰我的控制器操作,因此两者都可以被接受。

4 个答案:

答案 0 :(得分:5)

使用POST。您不必担心浏览器支持,并且您的代码的未来维护者将了解最新情况。

答案 1 :(得分:1)

您可以使用POST,然后将名为X-HTTP-Method-Override的表单字段设置为DELETE。

有关具体示例,请参阅问题#467535:

Is it possible to implement X-HTTP-Method-Override in ASP.NET MVC?

答案 2 :(得分:0)

从表单值中提取并发送请求,在表单中调用Html.HttpMethodOverride(HttpVerbs.Delete)。

答案 3 :(得分:-3)

如果您所做的只是删除具有特定ID的项目,GET应符合您的目的:http://www.diffen.com/difference/Get_vs_Post

只需确保处理某人试图删除已删除内容的案例