我可以使用Sinatra模拟PUT或DELETE请求吗?

4

有些网络浏览器无法发出PUT或DELETE请求,但我需要向使用Sinatra编写的REST服务发送这些请求。是否可以使Sinatra将POST请求解释为PUT或DELETE请求?

2个回答

8
请阅读文档并查找method_override的说明。该机制与Rails相同。如果您的浏览器不支持PUTDELETE,只需发送一个名为_method且值为PUTDELETE的额外参数。
请注意,在模块化应用程序中(您的类继承Sinatra::Base),method_override默认被禁用。您需要手动启用它。

我在我的Sinatra::Base子类中加入了enable :method_override,现在它运行得非常好。 :) - user142019

3

目前所有的网络浏览器都支持在XMLHttpRequest中使用PUT和DELETE。据我所知,没有一个浏览器支持在HTML表单中使用它们,主要是因为尚未明确具体的使用方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接