某些Web浏览器无法发出PUT或DELETE请求,但我需要使用Sinatra将这些内容用于使用Ruby编写的REST服务。是否有可能使Sinatra将POST请求解释为PUT或DELETE请求?
答案 0 :(得分:8)
请阅读the document并找到method_override
的说明。该机制与Rails相同。如果您的浏览器不支持PUT
& DELETE
,只需发送一个名为_method
的额外参数,其值为PUT
或DELETE
。
请注意,在 Modular 应用程序中(您的类继承Sinatra::Base
),默认情况下会禁用method_override
。您需要手动启用它。
答案 1 :(得分:3)
所有当前的Web浏览器都支持XMLHttpRequest中的PUT和DELETE。另外,据我所知,没有浏览器支持HTML表单,主要是因为它还没有明确说明他们做了什么。