如何使用“DELETE”HTTP动词发送请求?
我想在Rails应用程序中的视图中创建一个链接来执行此操作…
DELETE /sessions
我该怎么做
添加了复杂function:
“会话”资源没有模型,因为它代表用户登录会话。 CREATE
表示用户登录, DESTROY
表示注销。
这就是为什么URI中没有ID参数。
我正在尝试在UI中实现“注销”链接。
正确的是,浏览器实际上并不支持发送删除请求。 许多Web框架的公认惯例是将_method参数设置为’DELETE’,并使用POST请求。
这是Rails中的一个例子:
<%= link_to 'log out', session_path, :method => :delete %>
您可能想要查看Restful Authentication 。
我不是特别了解Rails,但我经常构建使用Javascript发送DELETE(和PUT)请求的网页。 我只是使用XmlHttpRequest对象来发送请求。
例如,如果您使用jQuery:
有一个看起来像这样的链接:
delete
并运行此Javascript:
$(function(){ $('a.delete').click(function(){ $.ajax( { url: this.getAttribute('href'), type: 'DELETE', async: false, complete: function(response, status) { if (status == 'success') alert('success!') else alert('Error: the service responded with: ' + response.status + '\n' + response.responseText) } } ) return false }) })
我主要是从内存中写这个例子,但我很确定它会起作用….
如果我错了,请纠正我,但我相信你只能用浏览器发送POST和GET请求(用HTML格式)。