我正在开发一个Python Web应用程序作为学习练习,我正在研究使我的应用程序RESTful.
为此,我希望能够处理适用的各种类型的HTTP动作/动词.例如,如果id为id的小部件用URI http:// domain/widget/12表示,并且我想让最终用户能够删除此小部件,他们应该能够针对/发出HTTP DELETE请求插件/ 12.
但是,就我所知,HTML表单仅支持GET和POST,那么我将如何使用"不太流行"的HTTP操作(例如DELETE)发出HTTP请求?
假设在小部件12的视图页面(由HTTP GET返回)上,我想要包含一个只有一个提交按钮的表单来删除该小部件.例如:
但是,已经确定HTML表单不支持方法属性的DELETE.那么在这种情况下,从客户端执行DELETE请求的RESTful方式是什么?
在浏览器中,您需要对所描述的场景使用XmlHttpRequest(Ajax).如果您的客户端或服务器不支持其他方法,则使用自定义X-HTTP-Method-Override标头指定操作已变得很常见.